• java 方法的重载重写


    面向对象有三大特性:封装,继承,多态

    多态则需要满足三大条件1要有继承2要有重写3父类引用子类对象

    很多人对方法的重载重写有很大疑问,下面我来介绍一下方法的重载重写

    方法重载就是方法名称重复,加载参数不同

    满足的条件:

    一.方法名一定要相同。
    二.方法的参数表必须不同,包括参数的类型或个数,以此区分不同的方法体。
    1.如果参数个数不同,就不管它的参数类型了!
    2.如果参数个数相同,那么参数的类型必须不同。
    三.方法的返回类型、修饰符可以相同,也可不同。
    class MethodOverloading {
     
        void receive(int i) {
            System.out.println("Received one int data");
            System.out.println("i="+i);
        }
         
        void receive(float f) {
            System.out.println("Received one float data");
            System.out.println("f="+f);
        }
         
        void receive(String s) {
            System.out.println("Received a String");
            System.out.println("s="+s);
        }
         
        public static void main(String [] args){
            MethodOverloading m = new MethodOverloading();
            m.receive(3456);
            m.receive(34.56f);
            m.receive("方法重载");
        }
    }
    那么什么是方法的重写呢
    方法的重写又称为覆盖方法
    是子类对父类定义方法的逻辑进行修改

    public class Wine {
    public void fun1(){
    System.out.println("Wine 的Fun.....");
    fun2();
    }

    public void fun2(){
    System.out.println("Wine 的Fun2...");
    }
    }

    public class JNC extends Wine{
    /**
    * @desc 子类重载父类方法
    * 父类中不存在该方法,向上转型后,父类是不能引用该方法的
    * @param a
    * @return void
    */
    public void fun1(String a){
    System.out.println("JNC 的 Fun1...");
    fun2();
    }

    /**
    * 子类重写父类方法
    * 指向子类的父类引用调用fun2时,必定是调用该方法
    */
    public void fun2(){
    System.out.println("JNC 的Fun2...");
    }
    public static void main(String[] args) {
    Wine a = new JNC();
    a.fun1();
    }
    }

  • 相关阅读:
    Python 读取Excel之xlrd篇
    Python读取文件基本方法
    Python 偏函数用法全方位解析
    如何表示只有一个元素的元祖
    Python对文本读写的操作方法【源码】
    jvm入门及理解(六)——垃圾回收与算法
    jvm入门及理解(五)——运行时数据区(虚拟机栈)
    jvm入门及理解(四)——运行时数据区(堆+方法区)
    jvm入门及理解(三)——运行时数据区(程序计数器+本地方法栈)
    jvm入门及理解(二)——类加载器子系统
  • 原文地址:https://www.cnblogs.com/zhangzhiqin/p/8011882.html
Copyright © 2020-2023  润新知