【发布时间】:2016-03-31 13:18:41
【问题描述】:
请注意:这是一个实验,而不是真实情况。我想了解更多,因此我提出了这个问题。
我有一个类
ABC,有一个静态方法method():
public class ABC
{
public static void method(){
System.out.println("ABC class");
}
}
我有一个类
DEF,带有一个非静态方法method():
public class DEF
{
public void method(){
System.out.println("DEF class");
}
}
最后,我有一个类
GHI,代码如下:
public class GHI
{
public static void main(String args[])
{
ABC.method();
DEF ABC = new DEF();
ABC.method();
}
}
输出是:
ABC类
DEF类
我知道输出的原因。
我的问题是:在这种情况下,如果我们有一个类的对象,名称与另一个类的名称相似,那么我们如何调用同名的类的方法作为对象的方法?
明确地说:在这种情况下,如何调用ABC类的静态方法method?
【问题讨论】:
-
可能是指完全限定的类名?例如
com.example.ABC.method(); -
如果完全限定名称不同,则使用完全限定名称的一种方法。
-
@Dr.Pelocho 哦,是的。你是对的,但我这里没有包裹。有什么办法可以在这里做到这一点?
-
显而易见的答案是你会改变你的变量名,因为创建一个与你也试图在同一方法中引用的类同名的变量只是编写糟糕的代码对每个人来说,事情都会变得更加困难。