一、继承
语法
class parent{
...
}
pubulic class child extends parent{
...
}
- 【说明】:
- 通过继承,祖先类的所有成员成为子类的财富,但是能否访问到这些财富取决于权限的设置。
- 构造方法与继承
- 构造方法不能被继承
- 子类可以在构造方法中用
super
来调用父类的构造方法,注意super
要放在首句 - 子类构造函数无
super
,在创建对象时,先自动调用父类的无参构造 —> 执行自己定义的构造函数
【关于super
的几点说明】:super
不光可以调用父类的构造方法,还可以访问父类的属性和方法super
父类及以上找;this
本类及以上找
二、多态
多态有两种:
- 方法的重载
- 子类对父类方法的覆盖
2.1 方法的重载
- 要求:方法名相同,参数不同(参数的个数、类型不同)
- 匹配原则:精确匹配 + 自动类型匹配(从低—>高)
2.2 方法的覆盖
- 定义:子类将继承父类的非私有方法,在子类中可以对父类定义的方法重新定义。
- 要求:和父类方法名,参数列表相同;返回类型一般一致:返回类型为引用类型时,允许子类方法的返回类型是父类方法返回类型的子类型
- 【说明】
- 静态/非静态:方法的覆盖改变方法静态/非静态属性
- 修饰符:不允许子类中方法的访问修饰符号比父类有更多的限制
final
不能被覆盖- 访问:
- 通过父类引用子类对象时,只有实例方法是子类定义的;对象属性、静态属性、静态方法都是父类定义的。
三、final
final
关键之的使用- 修饰类:最终类
- 不允许继承
- 通常是来完成某种功能
- 修饰方法:在子类中不能对父类的
final
方法重新定义 - 修饰变量:就是常量
- 只能赋值一次
- 引用类型的变量标记为
final
,只能指向一个对象,对象的内容可以修改
- 修饰类:最终类