【发布时间】:2017-08-27 03:45:15
【问题描述】:
interface A {
void print();
}
class A implements A {
public void print() {
System.out.println("Hello");
}
public static void main(String args[]) {
A a=new A();
a.print();
}
}
当我使用此代码时,它会说“重复类:A”。为什么这样?我可以不具有相同的类和接口名称
【问题讨论】:
-
"我不能有相同的类和接口名称" 不,不是这样。即使可以,你也不应该这样做。
-
你应该给类和接口(以及方法和变量)起有意义的名字。
-
接口是一种特殊类型的抽象类。这就是为什么你可以写
System.out.println(Runnable.class)和System.out.println(Class.forName("java.lang.Runnable"))。 -
致反对投票的人,投票结束:这是一个合法的问题,并且(根据我的搜索)不是重复的。它表明 OP 误解了关于类和接口的一些非常基本的东西(它们在同一个命名空间中命名)这一事实并没有使它成为一个坏问题。 (好的:如果 OP 可以对此进行更好的研究。但是,考虑到 SO 应该是一个可以找到答案的地方......而这里没有这个问题的答案。)