首先,任何一个java里的类都必须有一个所属的包名,你这里是不是插件原因没有提示报错,你可以试试main程序应该是运行不起来的:  所以后来编辑器提示要声明这个包是对的,加上声明后你想要访问到数据类型这个类,就要在HelloWorld这个类里使用import显式引入,如果是同一个包下的就不需要:  当然数据类型这个类也要有包声明:  总结一下:java里的包类似于其他语言的命名空间,它就是一个目录,你说的(包或者目录)说到底都是一个文件夹而已,只不过包需要在类里显著写出来而已 不同的包下面可以有相同的类,但是相同的包下面不可以有相同的类,java通过这样: 1、避免类名冲突,有相同的类名的时候我们可以通过所属包名来知道它到底是哪一个类 2、实现访问控制:包可以限制类的访问权限 3、模块化管理:包可以将一组相关的类组织在一起,形成一个独立的模块,方便管理和维护