java不支持多继承,可以通过接口实现。
继承后可以调用被继承类里的方法
继承中父类资源的限制
缺省修饰符修饰的方法在子类继承后,只能在同一个包内访问。
保护修饰符修饰的方法可以在子类中去访问,加一个this.就是此对象的意思。
上转型对象
final修饰的类继承,考虑安全因素,有些东西涉及到jvm内部的内存管理的方法,防止被继承后修改出现问题。还一个就是不想被继承,去重写类里面的东西。
方法重写
方法重写和方法重载都属于java中的多态。
方法重写访问修饰符的级别不能低于父类同名方法的访问级别,可以持平,可以高于它。
在重写的方法上使用@Override则是注释以下方法是重写的方法。
上图,用ani2的父类对象调用的是父类方法,如果用mamm调用或者用ani调用都是重写后的方法,因为ani创建对象的实例类型还是Mammal的。
eclipse快速方法重写
上面这种不是重写,因为是static修饰的,这种叫覆盖。static修饰的方法不能重写。
final修饰的方法不能重写。
static静态方法不能使用super关键字。
先有父类构造器后有子类构造器。
super();必须在子类构造器的第一行。
方法使用this调用自己会内存溢出无限循环,特殊算法用,称之为递归。
静态方法中不能出现this和super
super调用父类的属性。
eclipse快速创建继承其他类的方法
java核心编程思想是面向对象,面向对象核心编程思想是面向抽象。
定义抽象类
抽象类父类
抽象继承类
抽象类间接继承类
如果两个抽象类继承和一个间接继承第二个抽象类,间接继承的类必须把父抽象类的所有抽象方法全部实现方法重写。
如果继承抽象类里建立了父抽象类的实例方法重写,那间接继承类里的父类的抽象方法可以不写了。