Java教程

Java面向对象:方法重写

本文主要是介绍Java面向对象:方法重写,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

方法重写

方法重写:

​ 1 . 需要有继承关系,子类重写了父类的方法

​ 2 . 方法名必须相同

​ 3 . 参数列表必须相同

​ 4 . 修饰符:范围可以扩大,但不能缩小 public>protected>default>private(抛出的异常:范围可以被缩小,但不能扩大 Exception(大)——> ClassNotFoundException(小))

​ 5 . 重写时,子类的方法和父类必须一致。方法体不同!

注意点:

  1. 重写是方法的重写,与属性无关

  2. 方法调用和左边有关,有很大很大的关系!

    B b = new A(); //父类B的引用指向子类A
    b.test();	//如果是static静态方法,输出 B=>test()
    			//如果是 非静态方法,输出 A=>test()
    
    • 静态方法的调用只和左边定义的数据类型有关,即和 B 位置有关
    • 非静态方法的调用(A、B类都有test方法的情况下),走子类A 重写的 test() 方法,如果 A 没重写 B 的 test() 方法,那么就走 父类 B 的 test() 方法(和左边有很大的关系,即和父类B有很大关系)
    //子类 A
    public class A extends B{
    
        @Override
        public void test() {
            System.out.println("A=>test()");
        }
    }
    
    //父类 B
    public class B {
    
        public void test(){
            System.out.println("B=>test()");
        }
    }
    

为什么需要重写:

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

快捷键: Alt + Insert :Override;

这篇关于Java面向对象:方法重写的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!