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

Java跨包导入类编译错误求助:新手学习遇问题

问题分析与解决

你的代码报错和包导入、访问权限无关,核心错误是调用了错误对象的方法:

你导入了one.Abhi类,但在main方法里实例化的是World类对象,而World类本身并没有定义fun()方法,自然会触发报错。

修改后的正确代码

package one;
public class Abhi{
    public void fun(){
        System.out.println("Fun function from Abhi class");
    }
}

package two;
import one.Abhi;
public class World {

    public static void main(String[] args) {
        System.out.println("World Class Start");
        // 实例化Abhi类对象,而非World类
        Abhi obj = new Abhi();
        obj.fun();
    }
}

额外注意事项

  • 确保文件目录结构与包名匹配:
    • Abhi.java需放在名为one的子目录下
    • World.java需放在名为two的子目录下
  • 编译与运行(从根目录执行命令):
    • 编译:javac one/Abhi.java two/World.java
    • 运行:java two.World

内容的提问来源于stack exchange,提问作者Abhi Upadhyay

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 16:02:34