继承
概念:为了提取两个类中公共代码,可以使用继承抽取重复性的代码到一个公共类中,这个公共的类称为父类(super class)。继承于父类的类称为子类(sub class).
关键字 extends
特性:
[1] 单根性。在java中,一个类只能有一个直接父类。
[2] 传递性。C继承于B,B继承于A,C具有A的特性和行为。
[3]之类拥有非私有的属性和方法
关键字 super
【1】表示父类关系,仅仅一个关键字,里面没引用。
【2】super访问父类构造方法 注意:必须写到构造方法有效代码第一句
【3】super调用父类的非私有属性。
属性隐藏
【1】当子类定义了一个和父类同名的属性时,在子类中优先访问子类的属性,如果要访问父类属性一定要加super。
继承关系的初始化顺序
【1】父类属性初始化 -------父类构造器--------之类属性初始化--------之类构造器
子类继承父类方法重写
意义:当子类从父类继承过来的方法不能满足自身需要时,子类可以根据自身情况进行方法重写
【1】方法名称相同
【2】参数列表相同
【3】子类的访问权限一定 >= 父类访问权限
【4】返回值和父类相同或者是其子类
访问修饰符
修饰符 |
本类? |
同包子类 |
同包其他类 |
不同包子类 |
不同包其他类 |
private |
? |
? |
? |
? |
? |
默认 |
? |
? |
? |
? |
? |
protected |
? |
? |
? |
? |
? |
public |
? |
? |
? |
? |
? |
【1】private:私有的,只能在本类可以访问。
【2】friendly:默认的,同包可访问,也称包访问权限。
【3】protected:受保护的, ①子类可访问 ②同包可访问
【4】public:公共的,都可以访问
原文地址:https://www.cnblogs.com/dedema/p/10758495.html