[英]Is it possible to #define a class in Java?
我正在使用ProGAL
包。 有兩個不同的類, ProGAL.geom2d.Point
和ProGAL.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不允許預編譯指令。
不可能,因為Java中沒有#typedef
或#define
(沒有預分析器)。 您可以嘗試編寫另一個類來封裝要重命名的類或只需要大量代碼提交。
我想要注意,我不認為你應該嘗試更改類的名稱。 它的名字有一個原因。 如果你打算在另一個類中使用它,那么一個人知道他們正在使用的實際類是非常有用的。 我認為這是良好的閱讀/可用性。 我認為將煙幕放在不需要存在的地方是不好的。 這個名字足夠描述。
答案是否定的 。 如此鏈接中所述, typedef
和#define
關鍵字被接受為並發症,並在Java中刪除,因為它們會降低代碼的可讀性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.