• Day09_面向对象 方法重写


    方法重写

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

    1. 方法名必须相同
    2. 参数列表必须相同
    3. 修饰符:范围可以扩大但不能缩小: public>Protected>Default>private
    4. 抛出的异常:范围,可以被缩小,但不能扩大:ClassNotFoundException-->Exception(大)

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

    为什么要重写:

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

      Alt + Insert:Override;

    静态方法

    package com.oop.Demo05;
    
    public class B {
        public static  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()");
        }
    }
    
    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();
        }
    }
    
    //运行结果
    a->test()
    B->test()
    
    Process finished with exit code 0
    

    非静态方法

    package com.oop.Demo05;
    
    //重写都是方法的重写,和属性无关
    public class B {
        public void test(){
            System.out.println("B->test()");
        }
    }
    
    package com.oop.Demo05;
    
    //继承
    public class A extends B{
        //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();//B
        }
    }
    
  • 相关阅读:
    类与类关系的UML图与代码表现
    JAVA加密算法简介
    【转】[C#]二维码生成、解码(QRCode)【支持winform、web调用】
    【转】[C#]二维码生成、解码(QRCode)【支持winform、web调用】
    C# 断网
    subversion prerevpropchange.bat
    How can I get a layer's DataSource properties.
    subversion prerevpropchange.bat
    C# 断网
    使用 Tkprof 分析 ORACLE 跟踪文件3
  • 原文地址:https://www.cnblogs.com/lemonlover/p/14037628.html
Copyright © 2020-2023  润新知