谦谦君子,温润如玉!桃李不言,下自成蹊!

why example

方法重写

方法重写

//重写都是方法的重写和属性无关
public class B{
    
    public static void test(){
        System.out.println("B=>test()");
    }
}

public class A extends B{
    
    public static void test(){
        System.out.println("A=>test()")
    }
}

public class Application{
    //静态方法:方法的调用只和左边,定义的类有关
    public static void main(String[] args){
        A a=new A();
        a.test();
        
        //父类的引用指向子类
        B b=new A();
        b.test();
    }
}
//输出结果
A=>test()
B=>test()
public class B{
    
    public void test(){
        System.out.println("B=>test()");
    }
}

public class A extends B{
    
    public void test(){
        System.out.println("A=>test()")
    }
}

public class Application{
    //非静态:重写
    public static void main(String[] args){
        A a=new A();
        a.test();
        
        
        B b=new A();//子类重写了父类的方法
        b.test();
    }
}
/*
A=>test()
A=>test()
*/

Note

重写:需要有继承关系,子类重写了父类的方法!

  1. 方法名必须相同
  2. 参数列表必须相同
  3. 修饰符:范围可以扩大但不能缩小:public>protected>default>private
  4. 抛出异常:范围可以被缩小但不能扩大;

重写:子类与父类的方法必要一致

为什么要重写:

  1. 父类的功能,子类不一定需要,或者不一定满足!

    Alt+Insert

posted @ 2020-09-27 19:47  FettersLove  阅读(169)  评论(0)    收藏  举报
Live2D