zoukankan      html  css  js  c++  java
  • 方法的覆盖(override)、重载(overload)和重写(overwrite)

     

    覆盖(override)

    继承了父类的同名无參函数:当子类从父类继承一个无參方法,而又定义了一个同样的无参数的方法时,则子类新写的方法覆盖父类的方法,成为覆盖。

    Example

    class Super{
        public void NoParametersMethod(){
            System.out.println("Super Method....");
        }
    }
    
    class subClass extends Super {
        public void NoParametersMethod(){
            System.out.println("subClacc Method....");
        }   
    }
    
    class override{
        public static void main(String[] args) {
            subClass sub = new subClass();
            sub.NoParametersMethod();
        }
    }

    Output

    subClacc Method....
    

    重载(overload)

    继承了父类的同名有參函数:当子类继承了父类的一个同名参数,且方法参数表不同,则称为重载,通过方法重载,子类可以重新实现父类的某些方法,使其具有自己的特征。

    Example

    class Super{
        public void WithParametersMethod(int a){
            System.out.println("Super Method:"+a);
        }
    }
    
    class subClass extends Super {
        public void WithParametersMethod(int a,int b){
            System.out.println("subClacc Method:"+a+","+b);
        }   
    }
    
    class overload{
        public static void main(String[] args) {
            subClass sub = new subClass();
            sub.WithParametersMethod(0);
            sub.WithParametersMethod(1,2);
        }
    }

    Output

    Super Method:0
    subClacc Method:1,2
    

    重写(overwrite)

    当前类的同名方法:通过方法重写,一个类中可以有多个具有相同名字的方法,由传递给他们的不同个数和类型的参数,甚至不同参数顺序(不推荐)来决定使用哪种方法

    Example

    class Curr{
        public void fun(int i) {
            System.out.println("int");
        }
        public void fun(int i,String s){
            System.out.println("int,String");
        }
        public void fun(String s,int i){
            System.out.println("String,int");
        }
    }
    
    class override{
        public static void main(String[] args) {
            Curr curr = new Curr();
            curr.fun(0);
            curr.fun(0, "");
            curr.fun("", 0);
        }
    }

    Output

    int
    int,String
    String,int
    
  • 相关阅读:
    DoTween插件的使用
    Unity3D协程的简单使用
    排序和双指针,减小时间复杂度
    Unity3D自定义菜单组件
    滑动窗口思路分析
    Unity3D中的序列化特性和DLL特性
    求数组的交集,以及贪心算法的使用
    随笔开始啦
    实例26 循环体的过滤器
    实例25 终止循环体
  • 原文地址:https://www.cnblogs.com/cmi-sh-love/p/fang-fa-de-fu-gai-override-zhong-zai-overload-he-z.html
Copyright © 2011-2022 走看看