我正在准备OCA Java 8认证考试。
在书中说:
如果您有公共类,则需要匹配文件名。上市 class animal2不会在文件名Animal.java中编译。例子 代码是:
public class Animal{
private String name;
}
class Animal2{
}
但是,如果我创建一个名为“Animal.java”的Java文件,我将代码放入并编译它,编译器生成两个java类,“animal.class”和“animal2.class”。
学习指南错了吗?
答案 0 :(得分:2)
基本上这本书说如果文件名为Animal,公共类也必须被称为Animal,否则就会出错。
class Animal2
并非公开,这就是为什么它编译得很好。
你可以做的是在公共课堂上设一个公共课:
public class Animal{
public class Animal2{
...
}
...
}
这是不可能的:
public class Animal{
....
}
public class Animal2{
....
}
答案 1 :(得分:1)
好的,好的。
我现在明白了,这本书令我感到困惑。
这会编译并生成两个Class(一个公共类Animal和一个受保护类animal2):
public class Animal{
private String name;
}
class Animal2{
}
这不编译:
public class Animal{
private String name;
}
public class Animal2{
}