java中的方法覆盖
什么时候能满足方法覆盖?
1,两个类必须要有继承关系。
2,重写之后的方法和之前的方法具有 相同的返回值类型和相同的方法签名(方法名+参数列表)。
3,访问权限不能更低,可以更高。
4,重写之后的方法不能比之前的方法抛出更多的异常,可以更少。
注意事项:
1,方法覆盖只是针对于方法,和属性无关。
2,私有方法无法覆盖。
3,构造方法无法被继承,故构造方法也不能被覆盖。
4,方法覆盖只是针对于实例方法,静态方法覆盖没有意义。
***************当输出一个引用的时候,println方法会自动调用 引用的 toString方法。。。 也就是说 println(t1) 和 println(t1.toString())是等价的
public class OverRide{ public static void main(String[] args){ Bird b = new Bird(); b.move(); } } class Animal{ public void move(){ System.out.println("move"); } } class Bird extends Animal{ }