Java重载

2020-03-08  本文已影响0人  风雪_夜归人

重载(Overlaod):表示两个或多个方法名字相同,但方法参数不同。

代码:

public class OverLoadTest {
    public  int add(int a,int b){
        return  a + b;
    }

    public  int add(int a,int b,int c){
        return a + b + c;
    }

    public static void main(String[] args) {
        OverLoadTest overLoadTest = new OverLoadTest();
        int value = overLoadTest.add(3,5);
        int value1 = overLoadTest.add(3,5,8);
        System.out.println("两个参数的add方法的值:" + value);
        System.out.println("三个参数的add方法的值:" + value1);
    }
}
----------------------------------------------------------------------------------------、
结果:
两个参数的add方法的值:8
三个参数的add方法的值:16
方法中也可以嵌套重载的方法:
public class OverLoadTest {
    public  int add(int a,int b){
        return  a + b;
    }

    public  int add(int a,int b,int c){
        System.out.println("在三参数方法中调用重载的两参数方法的值:" + add(a,b));
        return a + b + c;
    }

    public static void main(String[] args) {
        OverLoadTest overLoadTest = new OverLoadTest();
        int value = overLoadTest.add(3,5);
        System.out.println("两个参数的add方法的值:" + value);
        int value1 = overLoadTest.add(3,5,8);
        System.out.println("三个参数的add方法的值:" + value1);
    }
}
----------------------------------------------------------------------------------------
结果:
两个参数的add方法的值:8
在三参数方法中调用重载的两参数方法的值:8
三个参数的add方法的值:16
public class ConstructorOverload {
    public ConstructorOverload(){
        System.out.println("这是无参构造方法");
    }

    public ConstructorOverload(int a){
        System.out.println("这是有1个参数的构造方法,参数值为:"+ a);

    }

    public static void main(String[] args) {
        ConstructorOverload constructorOverload = new ConstructorOverload();
        ConstructorOverload constructorOverload1 = new ConstructorOverload(4);
        
    }
}
----------------------------------------------------------------------------------------
结果:
这是无参构造方法
这是有1个参数的构造方法,参数值为:4
构造 方法中也可以嵌套重载的方法:
public class ConstructorOverload {
    public ConstructorOverload(){
        this(1);
        System.out.println("这是无参构造方法");
    }

    public ConstructorOverload(int a){
        System.out.println("这是有1个参数的构造方法,参数值为:"+ a);

    }

    public static void main(String[] args) {
        ConstructorOverload constructorOverload = new ConstructorOverload();
        ConstructorOverload constructorOverload1 = new ConstructorOverload(4);

    }
}
----------------------------------------------------------------------------------------
结果:
这是有1个参数的构造方法,参数值为:1
这是无参构造方法
这是有1个参数的构造方法,参数值为:4
注意点:
this必须为构造方法第一句,不然就会报错如下图
Error:(7, 13) java: 对this的调用必须是构造器中的第一个语句
上一篇下一篇

猜你喜欢

热点阅读