单个文件中的两个类

时间:2018-01-29 19:30:20

标签: java

我正在准备OCA Java 8认证考试。

在书中说:

  

如果您有公共类,则需要匹配文件名。上市   class animal2不会在文件名Animal.java中编译。例子   代码是:

public class Animal{
private String name;
}
class Animal2{

}

但是,如果我创建一个名为“Animal.java”的Java文件,我将代码放入并编译它,编译器生成两个java类,“animal.class”和“animal2.class”。

学习指南错了吗?

2 个答案:

答案 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{

}