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

Java代码无法导入其他自定义包是什么原因?该如何解决?

问题原因及修复方案

1. 包导入语法错误

Java导入自定义包下的类有两种合法写法:

  • 导入包下指定类:import bank.Account;
  • 导入包下所有公共类:import bank.*;
    你写的import bank;不符合Java导入语法规范,会直接编译报错。

2. Account类访问权限不足

Java中类不加访问修饰符时默认是包私有访问权限,仅允许同一个包下的类访问。你的Account类在bank包下,调用方在com.company包下,跨包无法访问包私有类,需要将Account类改为公共类。

3. 对象实例化语法错误

你写的实例化代码属于错误的匿名内部类写法,且在对象还未完成初始化时就调用account1.name赋值,同时语句末尾缺少分号,需要调整实例化和赋值逻辑。


完整修正后代码

bank包代码

package bank;

// 加public修饰符允许跨包访问
public class Account {
    public String name;
}

public class Bank {
    public static void main(String[] args) {

    }
}

com.company包代码

package com.company;
import java.util.*;
// 修正导入语法
import bank.Account;

public class ImportingOtherPackages {

    public static void main(String[] args) {
        // 修正实例化和赋值语法
        Account account1 = new Account();
        account1.name = "customer1";
    }
}

补充说明:如果是IDEA等开发工具中还报找不到包的错误,需要检查项目的源码目录配置是否正确,确保bank包所在的目录被标记为源码根目录(Sources Root)。

内容的提问来源于stack exchange,提问作者Rowny Robert

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 22:57:03