方法重写

方法重写:子类的方法和父类的方法必须要一致,但方法体不同!

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

  • 方法名必须相同

  • 参数列表必须相同

  • 修饰符:范围可以扩大,即子类重写父类的方法时修饰符只能是被扩大而不能缩小。public>protected>default>private

  • 抛出异常:范围可以被缩小,但不能被扩大

  • 子类能够重写父类的方法前提是父类的方法是非静态的

为什么要重写?

父类的功能子类不一定需要,或者子类不一定满足。快捷键:alt+fn+insert 点击override

package com.oop;

import com.oop.demo03.A;
import com.oop.demo03.B;

public class Application {
    public static void main(String[] args) {
        A a = new A();
        a.test();//走的是A类的方法
        B b=new A();//子类重写了父类的方法
        b.test();//走的是A类的方法

        //由结果可知,重写只与非静态方法有关
    }
}


package com.oop.demo03;
//重写是方法的重写,与属性无关
public class B {

    public  void test(){
        System.out.println("B=>test()");
    }
}


package com.oop.demo03;

public class A extends B {
    @Override//重写,前提是:父类的方法不是静态的。快捷键alt+fn+insert
    public void test() {
        System.out.println("A=>test()");
    }
}

 

posted @ 2022-04-15 21:46  胖虎9  阅读(40)  评论(0)    收藏  举报