繁体   English   中英

从eclipse中的包访问引用的库

[英]accessing referenced libraries from packages in eclipse

如果我将我的类保存在默认包中,我只能访问引用的库类。 如果我尝试从任何其他包访问它们,我得到“className无法解析”。 知道为什么会这样吗?

在此输入图像描述

该软件包来自普林斯顿的IntroCS课程的标准库,经过快速的谷歌。

如果您按照http://introcs.cs.princeton.edu/java/stdlib/页面上的常见问题解答进行操作

问:如果我使用命名包来构造我的代码,则编译器无法再访问stdlib.jar中的库。 为什么不? 答:stdlib.jar中的库位于“默认”包中。 在Java中,您无法从命名包访问默认包中的类。 如果需要将我们的库与命名包一起使用,则可以使用打包的版本stdlib-package.jar。

下载包jar文件: http//introcs.cs.princeton.edu/java/stdlib/stdlib-package.jar

右键单击项目文件夹并添加外部JAR。

import edu.princeton.cs.introcs.*;

将上面的行添加到需要引用类的类中。 第一行引用正确的包名称,*通配符导入其中的所有类。

:)希望有所帮助。

//编辑 - 如果右键单击项目文件夹并使用“组织导入”,它将更快,因此您不必手动添加到每个类。

检查您是否具有正确的import声明,并且您引用的类型具有public访问修饰符。

默认包中的类型的导入声明是不可能的。 JLS指定从未命名的包导入类型是编译时错误。 您必须通过反射访问您的课程,或者更好的是不要使用默认包。 当你想在默认包中创建一个类型时,Eclipse应该向你显示一个警告,因为它通常不鼓励。

如果您正在使用像Eclipse这样的IDE,那么请尝试在要使用它的类中使用类型名称后面的CTRL + SPACE Eclipse应该为您提供所有匹配的机会,并且如果您选择了类,将自动为您添加导入。

您需要将包导入其他包。

除非引用它,否则一个包中的类不能直接引用其他包。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM