类名冲突导入新包(java)

Cor*_*ius 6 java class lwjgl

首先,我是java的新手,所以我的问题可能是愚蠢但我仍然需要一个答案:)

我有一个处理显示问题的课程.我把它命名为"Display",但问题是:我需要导入一个名为org.lwjgl.opengl.Display的类.

当然,我在Display类语句中有这个错误:

"显示"已在此编译单元中定义

当然,我可以重命名我的班级,但我想确定没有办法轻易绕过这个问题.

一般来说(因为使用像LWJGL这样的游戏库,我想我会有很多这样的),为了避免类似的标签,我的班级前缀是一个更好的主意吗?

更新:该类已经在一个包中.

package Graphics;

import org.lwjgl.LWJGLException;
import org.lwjgl.opengl.Display;
import org.lwjgl.opengl.DisplayMode;

public class Display { ... }
Run Code Online (Sandbox Code Playgroud)

感谢名单.

JRL*_*JRL 25

如果你不能重命名自己的类,这是最简单的,那么你可以通过不导入有问题的类而不是使用完全限定的包名来避免这种情况,例如

org.lwjgl.opengl.Display display = new org.lwjgl.opengl.Display().

相反,您应该将自己的类放在包中,并且永远不要使用默认包,这样就可以应用相同的方法消除您自己的类的歧义.

  • 是否有任何版本的Java都具有将完全限定名称别名为短名称的功能,因此您不必在任何地方放置完全限定名称?像`import org.lwjgl.opengl.Display as OglDisplay;```OglDisplay display = new OglDisplay();`? (12认同)