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
    
  • 相关阅读:
    让WPF的Popup不总置顶的解决方案
    virtio 驱动的数据结构理解
    关于Linux下面msyql安装后并未设置初始密码,但是登录报错“Access denied for user 'root'@'localhost' (using password: NO)”的解决方案
    gulp初涉
    前后端分离--构建前端Mock Server--windows部署rap
    一些css小用法总结(持续更新~)
    js原生封装自定义滚动条
    ie下面兼容性问题的一些总结
    关于html水平垂直居中的一些总结吧
    C# 正则表达式匹配string字符串中的时间串(yyyyMMdd)
  • 原文地址:https://www.cnblogs.com/cmi-sh-love/p/fang-fa-de-fu-gai-override-zhong-zai-overload-he-z.html
Copyright © 2011-2022 走看看