Java面向对象----继承概念,super关键字
继承概念:
继承需要符合的关系 is-a , 父类通用更抽象,子类更特殊更具体
类之间的关系
- 继承体现
- 组合体现
- 实现接口体现
继承的意义
代码重用
体现不同抽象层次
extends关键字
Super关键字
代表的是父类的对象的引用
package com.tanlei.newer;
public class TeachersDemo {
public static void main(String[] args) {
B b=new B();
b.showB();
}
}
class A{
public A() {
System.out.println("a的构造方法");
}
public void showA() {
System.out.println("A");
}
}
class B extends A{
public B() {
super();//调用父类无参的构造方法,可以省掉
System.out.println("b的构造方法");
}
public void showB() {
System.out.println("B");
showA();//super.showA();
} }
方法重写(override)
相同名称,参数列表相同,返回值相同
final关键字
变量用了就是常量(常量一般和static共用)
final修饰了类的话不能被继承
final修饰了方法不能被重写
package com.tanlei.newer;
public class FinalDemo {
public static void main(String[] args) {
AA aa=new AA();
aa.shownum1();
aa.shownum2();
BB bb=new BB();
bb.shownum2();
}
}
//常量类是不能被继承的,final用在引用变量上,代表此引用变量,只能引用一开始所引用的对象,中途不能改变指向
/*final*/ class AA{
public final int number1=1;
public final int number2=2;
public void shownum1() {
//number1++;//常量是不能被修改的
System.out.println(number1);
}
//子类不能对父类中的常量方法重写
public /*final*/ void shownum2() {
System.out.println(number2);
}
}
class BB extends AA{
public void shownum2() {
System.out.println(number2);
}
}
Java面向对象----继承概念,super关键字的更多相关文章
- java的继承 和super关键字 构造器
面向对象的特性二继承: 继承的好处: 1.减少代码的冗余.提高了代码的复用性 2.便于功能的扩展 3.为之后多态的使用,提供了前提 继承的格式: class A extends B{} A:子类.派生 ...
- 面向对象编程(十)——继承之Super关键字及内存分析
Super关键字
- Java面向对象 继承(下)
Java面向对象 继承(下) 知识概要: (1)抽象类 1.1 抽象类概述 1.2 抽象类的特点 ...
- Java面向对象 继承(上)
Java面向对象 继承 知识概要: (1)继承的概述 (2)继承的特点 (3)super关键字 (4)函数覆盖 (5) 子类的实例化过程 (6) final关键字 (1)继承 ...
- java方法重写和super关键字
//java方法重写和super关键字 //在继承中,其实就是子类定义了和父类同名的方法 //就是方法,属性都是相通的 //重写限制: //被子类重写的方法不能拥有比父类方法更加严格的权限 //sup ...
- Java面向对象-Java类的继承及super关键字
Java面向对象-Java类的继承 1,继承定义以及基本使用 定义:子类能够继承父类的属性和方法: 注意点:Java中只支持单继承: 私有方法不能继承: 上代码: package com.java12 ...
- java学习笔记-继承中super关键字
背景: 在java继承的概念中我们得知,被声明为私有的类成员对所属的类来说仍然是私有的.类之外的任何代码都不能访问,包括子类. super关键字的两种用法: 1.用于调用超类的构造函数: 2.用于访问 ...
- Java: 类继承中 super关键字
super 关键字的作用有两个: 1)在子类中调用超类的构造器,完成实例域参数的初始化,调用构造器的语句只能作为另一个构造器(通常指的是子类构造器)的第一条语句出现, 2)在子类中调用超类的方法,如: ...
- Java的继承,final关键字,super关键字
1.继承的初始化顺序: 父类—>父类的初始化对象中的属性—>父类的构造方法—>子类—>子类的初始化对象中的属性—>子类的构造方法 若有构造方法:则先执行属性,再执行构造方 ...
随机推荐
- 如何在vue项目中使用md5.js及base64.js
一.在项目根目录下安装 npm install --save js-base64 npm install --save js-md5 二.在项目文件中引入 import md5 from 'js-md ...
- IOS下的 click 点击失效
当委托给一个元素添加click事件时,如果事件是委托到 document 或 body 上,并且委托的元素是默认不可点击的(如 div, span 等),此时 click 事件会失效. demo: & ...
- java多线程三种方式
java多线程都有几种方式 有三种: (1)继承Thread类,重写run函数 创建: class xx extends Thread{ public void run(){ Thread.sleep ...
- C#5.0 异步编程async/await用法
微软在发布VS2012的同时推出了C#5.0,其中包含了async和await 代码如下: class Program { private static readonly Stopwatch watc ...
- java知识点---文件分隔符
本篇讲述java编程中,怎样解决跨平台时,因不同系统中分隔符不同导致的文件或路径找不到的问题 首先来看两个例子: 一.linux系统和windows系统中的文件路径: Linux系统: Windows ...
- SpringCloud-微服务的注册与发现Eureka
一.SpringCloud简介 Spring Cloud是一系列框架的有序集合.它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册.配置中心.消息总线.负载均 ...
- python基础--基础数据类型
1.输入 python2中的输入: 关键字:input() --> 需要人为的告诉input你输入的是哪种类型的数据(声明数据类型) >>> name = input('pl ...
- Leetcode48. Rotate Image旋转图像
给定一个 n × n 的二维矩阵表示一个图像. 将图像顺时针旋转 90 度. 说明: 你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵.请不要使用另一个矩阵来旋转图像. 示例 1: 给定 m ...
- jquery 调用asp.net后台代码
1.需要引用对应的命名空间 System.Web.Services 2.后台方法: 必须是static 约束 必须添加[WebMethod()] 属性 示例: <script type=&q ...
- HR招聘_(七)_招聘方法论(面试环节·动机判断)
候选人选择一般会看硬性技能,软性技能,动机意愿三个方面的匹配程度,硬性技能主要指纵向的业务能力,部门面试官也会着重看这方面,软性技能包括沟通,情商,气质等.动机意愿非常重要,再优秀的如果没有意愿,动机 ...