我正在研究java并遇到了这个例子
interface Nose{
public int iMethod();
}
abstract class Picasso implements Nose{
public int iMethod(){
return 7;
}
}
class Clowns extends Picasso{}
class Acts extends Picasso{
public int iMethod(){
return 5;
}
}
因为没有任何东西被宣布为公共,这是否意味着这些类都不能从另一个文件中调用?我有另一个文件
public class Of76 extends Clowns{
public static void main(String[] args) {
Nose [] i = new Nose[3];
i[0] = new Acts();
i[1] = new Clowns();
i[2] = new Of76();
for(int x = 0; x < 3; x++) {
System.out.println(i[x].iMethod()+" "+i[x].getClass());
}
}
}
所以在这个例子中, class Of76 可以从另一个没有任何公共类的文件中创建类。我对为什么第一个文件可以包含所有这些类以及为什么它们不在单独的类中感到困惑。我读到一个非公共的类默认是私有的,只能在同一个类中调用。那么鼻子文件中的所有内容都只能在那个鼻子文件中调用吗?