问题描述
看《java编程思想》中关于枚举的用法,我把枚举类型和一个类放在一块,结果总是在枚举定义的地方报错:thepublictypeSpicinessmustbedefinedinitsownfile。请问这是怎么回事呢?小白拜谢大家了
解决方案
解决方案二:
那就别放在一块。一个文件只能有一个对外的publicclass.
解决方案三:
引用1楼u011461314的回复:
那就别放在一块。一个文件只能有一个对外的publicclass.
意思是说,我需要建一个包,然后新建枚举,然后在Burrito中引用这个包吗?我把枚举定义放到这个类的内部就没问题了,这又是怎么回事呢?多谢兄台了
解决方案四:
规范规定一个.java文件只能有一个public全局类,在你这里就是Burrito,你需要把Spiciness移到另一个.java文件中,可以新建个包,也可以和Burrito在同一个包。把枚举定义放到类内部以后,这个枚举定义就不是全局的了,而是Burrito的内部类了,自然就没问题了。
解决方案五:
引用3楼xuefeng0707的回复:
规范规定一个.java文件只能有一个public全局类,在你这里就是Burrito,你需要把Spiciness移到另一个.java文件中,可以新建个包,也可以和Burrito在同一个包。把枚举定义放到类内部以后,这个枚举定义就不是全局的了,而是Burrito的内部类了,自然就没问题了。
嗯,多谢多谢,后面一章讲了这个
时间: 2024-10-24 21:15:30