重写
重写:需要有继承关系,子类重写父类的方法
1.方法名必须相同
2.参数列表必须相同
3.修饰符:范围可以扩大但是不能缩小:public>protected>defaul>privat
4.抛出的异常:范围可以缩小,但是不能扩大 :ClassNotFoundException -->Exception()
重写 ,子类的方法和父类的必须要一致,方法体不同
为什么要重写:
父类的功能,子类不一定需要,或者不一定满足
package com.oop.Demo05;
public class Application {
public static void main(String[] args) {
// Student student = new Student();
// student.test("王小明");
//student.test1();
/* 非静态方法,子类会重写父类的方法
输出结果就是
A-->test
A-->test
*/
/* 静态方法 static 方法的调用只和左边的 定义的数据类型有关
输出结果就是
A-->test
B-->test
*/
A a = new A();
a.test();
//父类的引用指向了子类
B b = new A();
b.test();
}
}
package com.oop.Demo05;
//继承
public class A extends B {
/* public static void test(){
System.out.println("A-->test");
}*/
@Override
public void test() {
System.out.println("A-->test");
}
}
package com.oop.Demo05;
//重写都是方法的重写,与属性无关
public class B {
public void test() {
System.out.println("B-->test");
}
/*public static void test(){
System.out.println("B-->test");
}*/
}