extends
(1)子类继承父类:在每个子类对象中都有一个独有的父类对象。
this是当前对象,this(参数列表)在当前类写构造方法中调用其他重载构造
super 是父类对象,super( 参数列表)在子类调用父类的构造方法
(2)继承是一种高级封装
(3)不能继承父类的哪些内容
1.私有的 private
2.构造方法 Constructor
3.非同包父类受保护类型 protected
(4)通过访问修饰符和 进行访问权限控制
类内 同包 不同包子类 其他
private O
default O O
protected O O O
public O O O
(5) 构造方法、普通代码块、静态代码块
构造方法<普通代码块<静态代码块
父类静态代码块
子类静态代码块
父类普通代码块
父类构造方法
子类普通代码块
子类构造方法
(6)static:
1.
被static修饰的属性和方法称之为类属性与类方法,无须对象,通过类名就可以访问。
但是static违背了OOP原则。
jvm 启动时装载字节码文件过程中创建所有静态内容。
2.
何时使用? 使用频次高,且当前工程中许多类需要用。
3.
静态方法只能访问静态属性,和静态方法
(7)重写、重载
1 重载 同一个类中名称相同参数不同的方法
2重写 子类重写父类同名,同参,同返回值的方法
(8)转型:有继承关系的对象类型转化
1.自动类型转换:父类引用指向子类对象
2.强制类型转换:不是将父类转换为子类
通过instrsnceof 运算符判定父类引用指向子类队象的实际类型
否则类型转换异常
(9)多态:一种类型多种表现型态
1.继承
2.重写
3.实现方法:一个父类有多个子类,在构建方法时以父类的引用作为形参,在调用方法时,转入不同子类队象实参。
(10)抽象类 abstract
1.可以有抽象方法,由abstract修饰的方法,只做方法的声明不做方法的实现
2.子类必须重写抽象父类中的抽象方法,除非子类也是抽象类,
3.抽象类不可以直接实例化。
(11)接口
1.方法默认为公共的抽象方法 属性默认为静态的常量
2.子类必须实现父接口的所有抽象方法除非子类也是接口或抽象类 接口和接口之间用继承
3.接口不可以直接实例化
4.作用——同步开发:定交换标准
——隐藏实现
5.接口与父类:——单继承
——多实现
——父子关系
面向修改是封闭的,面向扩展是开放的。如果要扩展一个已有类的功能,我们不会修改类的源码,而是新建一个类,继承该类,并扩展接口。
6.泛型:引用类型参数化
——类级泛型
——方法型泛型
(12)内部类