gpt4 book ai didi

java - 静态和非静态方法的方法重载

转载 作者:搜寻专家 更新时间:2023-11-01 03:17:40 28 4
gpt4 key购买 nike

据我所知,在 Java 方法重载中,我们对所有重载方法使用相同的名称。而且,它们的返回类型也不是问题。但是,如果我们使用与静态和非静态形式相同的方法,会发生什么情况,如下例所示?我们可以考虑重载这个方法吗?

class Adder {

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

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

}

class Test {

public static void main(String[] args) {
Adder a1 = new Adder();

System.out.println(Adder.add(11, 11));

System.out.println(a1.add(11, 11, 51));

}
}

我看了一些文章,但他们没有阐明我的问题。

最佳答案

关键字 static 的使用对方法重载没有影响。

您的代码可以编译,因为两个 add() 方法的方法签名不同(2 个参数与 3 个参数)。

但是,如果您要编写这样的代码,那么它会导致编译错误

class Adder {
static int add(int a, int b) {
return a + b;
}

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

关于java - 静态和非静态方法的方法重载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43024807/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com