You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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的场景:

  1. 创建名为 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"); 
    } 
}
  1. 创建名为 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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 19:52:38