子类以父类身份出现,执行子类和父类都有的方法,那么会执行子类的方法。
enum是枚举
尽量调用的时候以父类做参数,这样可扩展性好。
编译的时候不知道调用的是哪个子类的方法。
转型去访问方法,那么私有方法可见。
子类和父类都有的方法叫多态方法,即子类重写了父类的方法。
属性没有多态,子类以父类的身份出现访问属性,就只能访问父类的属性。
静态方法没有多态方法。
多态方法是普通方法,子类继承的public方法。静态方法和属性没有多态。
清除资源是自底向上
类加载的时候内容分配已经给方法了,只是还没有初始化而已。
在构造器内部如果调用多态方法,那么就调用子类的多态方法。
纯继承:子类没有自己新定义的方法,只是重写父类的方法。
扩展:有额外的方法。
如果向上转型,那么子类扩展的方法是看不到的
向下转型的时候要告诉要转成哪一个子类类型,并且从哪个子类向上的就要转到哪个子类
报错的时候是运行时报错,编译时不会报错!
数组只能支持同一种类型。
向下转型就是在前面加一个括号,括号里面放类型,这是强制转换。
编译没问题意味语法没问题。