我正在使用ProGAL包。有两个不同的类,ProGAL.geom2d.PointProGAL.geom3d.Point。两者均称为Point。导入一个时,我只能通过输入完整路径来使用另一个。例如:

import ProGAL.geom3d.Point;
//...
Point pointIn3D = new Point(1,2,3);
ProGAL.geom2d.Point pointIn2D = new ProGAL.geom2d.Point(4,5);


我想使用类似

#define ProGAL.geom3d.Point point3d
#define ProGAL.geom2d.Point point2d


就像在C ++中一样。 Java有可能吗?

用法如下:

point3d pointIn3D = new point3d(1,2,3);
point2d pointIn2D = new point2d(1,2,3);

最佳答案

没有它不可能,因为Java中没有#typedef#define(没有预解析器)。您可以尝试编写另一个类来封装要重命名的类,或者仅包含大量代码注释。

我确实要指出,我不认为您应该尝试更改类的名称。它的名字是有原因的。如果您打算在另一个类中使用它,那么对于一个人来说,了解他们正在使用的实际类真的很有用。我认为这是不错的读取/可用性。我认为将烟屏放置在不需要的地方不是很好。该名称具有足够的描述性。

关于java - 是否可以#define Java中的类?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23768527/

10-11 04:40