• java方法的重载与重写


    1.重载(overloading)

    即方法的重新加载。对于一个类,这个类里有两个或多个重名的方法,但是这些方法的参数的个数、类型不同,就构成了方法的重载。

     如:

    public class A {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            int x=0;
            int y=0;
            double z=0.0;
            A.methodA(x);
            A.methodA(x,y);
            A.methodA(z);
            
        }
        public static void methodA(int x){
            x=1;
            System.out.println(x);
        }
        public static void methodA(int x,int y){
            x=1;
            y=2;
            System.out.println(x+y);
        }
        public static void methodA(double x){
            x=3.0;
            System.out.println(x);
        }

    结果如下:


    重载的特点:同一个类中,方法名相同,但参数不同(参数的类型、参数的个数)

    java面向对象基础中构造函数---空参构造和全参构造,就是方法的重载,是面向对象中多态的一种表现。

    2.重写(override),也可以叫做覆写,即覆盖了一个方法并对其重写,这个方法是父类中的方法,它继承了父类的方法并对父类方法进行重写。

    如:

    public class A {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            int x=0;
            B.methodA(x);
        }
        
        public static void methodA(int x){
            x=1;
            System.out.println(x);
        }
        public static class B extends A{
        }
    }

    结果如下:

    class B继承了来自classA的方法methodA()

    public class A {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            int x=0;
            A.methodA(x);
            B.methodA(x);
        }
        
        public static void methodA(int x){
            x=1;
            System.out.println(x);
        }
        public static class B extends A{
            public static void methodA(int x){
                x=2;
                System.out.println(x);
            }
        }
    }

    结果如下:

    子类(B类)class B中的方法methodA()覆盖了继承自父类(A类)的方法methodA()

    重写的特点:子类方法继承自父类,具有与父类不同的方法

  • 相关阅读:
    从零开始学asyncio(中)
    从零开始学asyncio(上)
    Java 后台多次获取requestBody
    Swift中的构造器
    CIDetector 相册识别二维码出错
    Swift-类和结构体
    定时器的使用以及注意事项
    ios-视图控制器跳转时生命周期的调用
    使用NSString的一些注意事项
    CALayer的锚点
  • 原文地址:https://www.cnblogs.com/1960366876tZ/p/8685965.html
Copyright © 2020-2023  润新知