继承
子类重写父类时不能定比它更高的访问权限
super关键字
可以访问父类的成员变量和成员方法
在子类的构造方法中可以使用这个关键字访问父类的构造方法
final关键字
特性
- final修饰的类不能被继承
- final修饰的方法不能被子类重写
- final修饰的变量是常量,只能赋值一次
抽象类
当定义方法但不写方法体时可以定义为抽象类,关键字是abstract。
抽象方法一定在抽象类中,但抽象类不一定有抽象方法
接口
函数型接口只有一个抽象方法
使用接口的目的是克服单继承的限制,一个接口可以有多个父接口,用逗号隔开
对象的类型转换
向上转型
子类对象当作父类使用时不需要任何显示地调用,但此时不能通过父类变量去调用子类特有的方法
向下转型
父类通过强制类型转换转换为子类
instanceof关键字
用于判断一个对象是否为某个类的实例或子类实例
Object类
类层次结构的根类
方法
- equals——判断其他某个对象是否与此对象相等
- getClass——返回此Object的运行时类
- hashCode——返回该对象的哈希码值
- toString——返回该对象的字符串表示
匿名内部类
new 父类(参数列表)或父接口 () {
//匿名内部类实现部分
}