方法重写的注意点

public class B {
	public static void test() {
		System.out.println("B==test");
	}
}
public class A extends B{
	public static void test() {
		System.out.println("A==test");
	}
}

public class Test {
	public static void main(String[] args) {
		//静态方法的调用只和左边定义的数据类型有关
		A a =new A();
		a.test();//A==test
		
		B b =new A();
		b.test();  //B==test
	}

}

  

 

 

public class B {
	public  void test() {
		System.out.println("B==test");
	}
}
public class A extends B{
	public  void test() {
		System.out.println("A==test");
	}
}

public class Test {
	public static void main(String[] args) {
		
		A a =new A();
		a.test();//A==test
		
		B b =new A();
		b.test();  //A==test
	}

}

总结:

重写:需要有继承关系,子类重写父类的方法
1.方法名必须相同
2.参数列表必须相同
3.修饰符,范围可以扩大,但不能缩小,public >protected>Default>private
4.抛出的异常,范围可以缩小,但不能扩大
重写,子类的方法和父类一样,方法体不同

为什么需要重写?
1.父类的功能子类不一定需要,或者不一定满足

 

posted @ 2020-05-23 09:44  向阳xy  阅读(209)  评论(0)    收藏  举报