重写:需要有继承关系,子类重写父类的方法
1.方法名必须相同
2.参数列表必须相同
3.修饰符:范围可以扩大但不能缩小 (pulic>Protected>Default>private)
重写:子类的方法和父类必须一致
为什么需要重写:
1.父类的功能子类不一定需要或者不一定满足
public class A {
public static void test(){
System.out.println("A啊啊啊");
}
public void test1(){
System.out.println("1111");
}
}
public class B extends A{
public static void test(){
System.out.println("B啊啊啊");
}
public void test1(){
System.out.println("2222");
}
}
public class Amplication {
public static void main(String[] args) {
B b = new B();
b.test();
A a = new B();
a.test();
B b1 = new B();
b1.test1();
//父类的引用指向了子类
A a1 = new B();
a1.test1();
/*
两个方法结果变成相同的,因为即a1是B new出来的对象,因此调用了B的方法
因为静态方法是类的方法,而非静态方法是对象的方法
有static时,a调用了A类的方法,因为a是用A类定义的,
没有static时,a1调用的是对象的方法,而a1是用B类new的对象
*/
}
}