Java创建Add1类对象报错:The public type Add1 must be defined in its own file
解决 "The public type Add1 must be defined in its own file" 报错
这个报错其实是Java的基础规则在提醒你——每个public类必须单独放在和它类名完全一致的源文件里,而且一个源文件最多只能有一个public类。你现在把Testing_Main和Add1两个public类塞在同一个文件里,自然就触发编译错误了。
给你两个可行的解决办法,按需选择:
方案一:拆分到独立文件(推荐用于需要复用的类)
这是Java开发的标准做法,适合后续需要在其他类中使用Add1的场景:
- 创建名为
Testing_Main.java的文件,只保留Testing_Main类:
public class Testing_Main { public static void main(String[] args) { System.out.println("Before Object is Created"); Add1 obj=new Add1(); obj.add1(); System.out.println("After Object is Created"); } }
- 创建名为
Add1.java的文件,只保留Add1类:
public class Add1 { public int add1() { return 5; } }
方案二:移除Add1的public修饰符(适合仅当前类使用的辅助类)
如果Add1只是Testing_Main的临时辅助类,不需要被其他包的代码访问,可以直接去掉它的public关键字,这样就能和Testing_Main共存于同一个文件中(注意文件名必须是Testing_Main.java,和唯一的public类同名):
public class Testing_Main { public static void main(String[] args) { System.out.println("Before Object is Created"); Add1 obj=new Add1(); obj.add1(); System.out.println("After Object is Created"); } } class Add1 { // 去掉public修饰符 public int add1() { return 5; } }
内容的提问来源于stack exchange,提问作者xavier
相关产品推荐
相关产品推荐

