一.继承java
(一:类的继承)ide
1.继承的关键词(extends)spa
例如: class B extends A {}
则表示B类继承了A类对象
java仅支持"单一继承"
继承的好处: 实现代码的重用。继承
java.lang.Object是全部类的超类。
二、子类能够继承父类的哪些内容?
a、成员变量
b、成员方法
c、构造方法不能继承
三、子类建立对象时,会调用父类的构造方法吗?构造方法的调用顺序?
会调用父类的构造方法。
先调用父类的构造方法,再调用子类的构造方法
四、子类能够有本身扩展的属性和方法?
能够。
父类中存放的是全部子类共有的属性和方法 。 所以 父类更加通用。
子类除了继承父类的属性和方法外,还能够有本身扩展的属性和方法,所以子类更具体。
5 继承关系中的父类如何获得?
类:具备相同属性和方法的一组对象"抽象"而得
父类:具备大量相同代码(属性和方法)一组类的”抽象"
子类和父类之间存在 is -a 的关系内存
(二:方法的覆盖)class
一、什么是方法重写?
在子类中定义了一个与父类相同的方法 ==》子类覆盖了父类的方法,或子类重写了父类的方法
2、方法重写的特色?
a、在继承关系的子类中
b、子类的方法名和参数与父类的方法名和参数相同
c、子类中的方法的访问权限不可低于父类的访问权限
d、子类中的返回值类型与父类的返回值类型一致,或是父类方法返回值类型的子类类型
e、子类的方法不能声明比父类更宽泛的异常
三、什么时候方法重写?
当父类中的方法不能知足子类功能的需求时,在子类中重写父类中的方法
四、注意事项:变量
a) 子类重写了父类的方法,子类对象调用方法时,调用子类重写后的方法扩展
b) 子类中的方法的参数与父类不一样,则不是方法重写,而是在子类中构成了方法的重载。
能够在子类方法不添加"@Override"验证重写的格式是否正确权限
c) 方法重写仅对于成员方法,同时某些方法是不能重写的
i. 私有的成员方法不能重写
ii. 父类中的final方法不能重写
iii. 父类中的静态方法不能重写
iv. 成员变量不存在重写
(三:super关键字)
一、super是什么?
super关键词不是引用,super中存储的不是内存地址,super指向的不是父类对象
super表明的是当前子类对象中的父类型特征。
二、什么时候使用
子类和父类中有相同名称的属性时,使用super.属性名访问父类的属性
三、supe能够用在什么地方?
3.1 super在子类的成员方法中使用
super.属性名:访问的是父类中的属性
super.方法名(参数):访问的是父类中的成员方法
3.2 super能够在子类的构造方法中使用,调用父类的构造方法。
语法:super(参数) 必须写在子类构造方法的"第一行"