笔记待整理

关于静态属性和方法的继承问题:

对于非静态属性,子类会继承下来并且可以对其操作;但是一旦子类有了同名属性时,父类的属性会被隐藏,这时操作的就是子类的那个和父类同名的属性。

所以在被隐藏时要看使用时要看是父类的引用指向对象还是子类的引用指向对象。是谁的引用就调用谁的属性。

对于静态属性,子类继承并使用,但是同样的,子类有同名的静态属性时,父类的就会被隐藏。

对于非静态方法,可以继承,重写;

对于静态方法,子类可以继承并调用,但是有同名方法时,会被隐藏。

-------------------------------------

方法重写的规则:两同,两小,一大。

参数列表相同,方法名相同。

抛出的异常类型更小,或者不抛出异常。 返回值的类型更小,或者相等(基本数据类型就是相等了,引用类型返回值可以是子类)

子类重写方法的可见性必须大于父类的方法

另外:还要注意,final方法是不可以被重写的。

         不能被继承的方法也是不可以被重写的,如private。

posted @ 2017-03-08 11:45  小白峰的进阶之路  阅读(140)  评论(0编辑  收藏  举报