一、方法的重写
非静态方法和静态方法的区别很大!
静态方法:静态方法的调用只和左边定义的类型有关;
重写之和非静态方法有关
重写也只能重写共有的
重写
重写需要有继承关系,子类重写父类的方法
方法名必须相同
参数列表必须相同
修饰符:范围可以扩大,但不可以缩小
抛出的异常可以被缩小,但不能扩大
为什么要重写
父类的功能子类不一定需要或者不一定满足
alt+insert,快捷键
例一:这个不叫作方法的重写
package base.NewMethod;
public class B {
public static void test() {
System.out.println("B的测试");
}
}
package base.NewMethod;
public class A extends B{
public static void test() {
System.out.println("A的测试");
}
}
package base.NewMethod;
public class C {
public static void main(String[] args) {
A a=new A();
a.test();//A的测试
B b=new B();
b.test();//B的测试
B b1=new A();//父类的引用指向了子类
b1.test();//B的测试
}
}
例二:子类重写了父类的方法
方法旁边多了标识符