重写
重写:需要有继承关系,子类重写父类的方法!
-
方法名必须相同
-
参数列表必须相同
-
修饰符:范围可以扩大但是不可以缩小:public>protected>default>private
-
抛出的异常:范围可以被缩小但是不能被扩大:ClassNotFoundException(小)–>Exception(大)
重写:子类的方法和父类的必须要一致,但是方法体可以不同
为什么需要重写?
子类需要的方法功能父类不一定满足。
PS:如果子类和父类的方法修饰符都加了static关键字,那么就不是重写
测试代码如下:
public class A{//父类A
public static void test()
{
System.out.println("A==>test()");
}
}
public class B estends A{// 子类B继承父类A
public static void test()
{
System.out.println("B==>test()");
}
}
// 测试:
B b = new B();
b.test();
//父类的引用指向了子类
A a = new B();
a.test();
测试结果为:
如果将A和B类的static关键字去除,则为重写,则测试结果为: