Java方法的重写

package Demo.oop.APP.Demo04;
//启动器
public class application {
    public static void main(String[] args) {
      //方法的调用只和左边,定义的数据有关
        A a=new A();
        a.test();
        //父类的引用指向了子类
        B b=new B();
        b.test();
        //由上面得,使用静态方法时候,并没有重写
        A a1=new A();
        a.test1();
        B b1=new B();//子类重写了父类得方法
        b.test1();
    }
}

  

package Demo.oop.APP.Demo04;
//继承
public class A  extends B{
    public static void test(){
        System.out.println("A=>test()");
    }
    //override重写
    public void test1(){
        System.out.println("A=>test()");
    }
}

  

package Demo.oop.APP.Demo04;
//继承
public class A  extends B{
    public static void test(){
        System.out.println("A=>test()");
    }
    //override重写
    public void test1(){
        System.out.println("A=>test()");
    }
}

  

重写:需要继承,子类重写父类的方法
1.方法名必须相同
2.参数列表必须相同
3.修饰符范围可以扩大不能缩小,public>protected>default>private
4.抛出异常范围可以缩小,不可以扩大ClassNotFoundException-->Exception(大)
重写子类的方法名和父类的必须相同,方法体不同(重写了)
为什么需要重写
父类的方法,子类不一定需要,或者不一定满足
Alt+Insert:override
main方法里面test是没有被重写子类的输出,test1是被重写后的输出
posted @ 2022-05-18 22:02  回忆也交给时间  阅读(36)  评论(0)    收藏  举报