我有一个班级public class N
和一个对象A a = new B();
B级看起来像这样:
public class B extends A { ... }
我想在 N 中获取对象 a 的子类名称作为字符串(同时:" B" )。我怎么能这样做?
编辑:在我的情况下,我使用访客模式。当a先前被定义为A a = new B()时,我有公共无效访问(A a)。然后我需要公开无效访问(B b)。我怎样才能定义,我需要准确地调用(B b)?
答案 0 :(得分:1)
a.getClass().getSimpleName()
应准确提供您的要求。它返回对象的实际类的名称。对于全名(包含包),请使用getClass().getName()
。