在超类中获取子类的名称
- 论坛
- 在超类中获取子类的名称
15 浏览
在超类中获取子类的名称
假设我有一个名为Entity
的基类。在这个类中,我有一个静态方法来获取类名:
class Entity { public static String getClass() { return Entity.class.getClass(); } }
现在我有另一个类继承自它。
class User extends Entity { }
我想获取User类的类名:
System.out.println(User.getClass());
我的目标是在控制台上输出"com.packagename.User",但实际上我会得到"com.packagename.Entity",因为Entity类在静态方法中被直接引用。
如果这不是一个静态方法,可以通过在Entity类中使用this
关键字来轻松解决这个问题(即: return this.class.getClass()
)。然而,我需要这个方法保持静态。有什么建议吗?