因为某种原因,我一直说错话
必须在自己的文件中定义公共类型的Dog。
当我试图编译。这里有人知道我怎么能修好它吗?有人知道我做错了什么吗?我试着看了一些其他的答案,但它说了一些奇怪的胡言乱语关于进口的东西。
发布于 2014-02-03 05:56:07
如果您的文件名和公共类名不同,那么您将得到这种类型的错误。
从错误中,必须在它自己的文件中定义公共类型Dog,我很肯定您的文件名不是Dog.java
发布于 2014-02-03 05:56:08
将Dog类的代码移动到一个名为Dog.java的文件中,所有顶级类(例如,要从另一个类调用的public Dog class )必须存在于它们自己的专门命名的文件中。
发布于 2014-02-03 06:00:21
每个Java编译单元 (所有公共系统中的.java文件)必须包含一个顶级类型(类、枚举或接口),其简单名称与文件的名称完全匹配。没有.java扩展名。
不管类上的访问修饰符是什么(公共的还是默认的),公共嵌套类可以放在顶层类型中,但是单个顶级类型必须与文件名匹配。
(这一要求在技术上是可选的,由编译器实现者自行决定,但我不知道有哪个编译器没有强制执行它,而且代码应该总是假定编译器会强制执行。)
https://stackoverflow.com/questions/21520632
复制相似问题