方法重写

方法重写

  • 重写:需要有继承关系,子类重写父类的方法!
    1.方法名必须相同
    2.参数列表必须相同
    3.修饰符:范围可以扩大但不能缩小! public > protected > default > private
    4.抛出的异常:范围,可以缩小,但不能扩大 ClassNotFoundException --->Exception(大)

  • 重写,子类的方法和父类必要一致;方法体不同!

  • 为什么需要重写:
    1.父类的功能,子类不一定需要,或者不一定满足!

  • package com.oop.demo05;
    //重写都是方法的重写,与属性无关
    public class B {
    //    public static void test(){
    //        System.out.println("B=>test()");
    //    }
        public void test(){
            System.out.println("B=>test()");
        }
    }
    //---------------------------------------------------------
    package com.oop.demo05;
    
    //继承
    public class A extends B {
    //    public static void test(){
    //        System.out.println("A=>test()");
    //    }
        //Override 重写
        @Override//注解:有功能的注解
        public void test() {
            System.out.println("A=>test()");
        }
    }
    //---------------------------------------------------------
    package com.oop;
    import com.oop.demo05.A;
    import com.oop.demo05.B;
    
    public class Application {
        //静态的方法和非静态的方法区别很大!
        //静态方法:方法的调用只和左边(定义的数据类型)有关
        //非静态:重写
        public static void main(String[] args) {
    
            A a = new A();
            a.test();
    
            //父类的引用指向了子类
            B b = new A();//子类重写(只和非静态方法有关)了父类的方法
            b.test();
        }
    }
    
posted @ 2022-11-20 10:56  TangoVer  阅读(16)  评论(0编辑  收藏  举报