如何获取对象的动态类名?

Com*_*key -2 java class

所以我有一个Actors列表,我希望得到每个Actors的动态类名.例如,这是我的演员列表:人物,鸟类,奶牛.

我想得到相同结果:"人,鸟,牛",但在Actors类中没有name属性.可能吗?

示例代码(这里代替我使用数组的列表):

public Area map[][];
map[0][0] = new AntHillArea();
String name = map[0][0].getClass().getName(); //this results "Area" instead of AntHillArea
Run Code Online (Sandbox Code Playgroud)

编辑:代码有其他问题,getClass().getName()工作正常.不管怎么说,还是要谢谢你.

Ami*_*itG 5

String className = obj.getClass().getSimpleName();
Run Code Online (Sandbox Code Playgroud)

更新:

public class Test {
    public static void main(String[] args) {
        Area map[][] = new Area[1][1];
        map[0][0] = new AntHillArea();
        String name = map[0][0].getClass().getSimpleName(); // returns "AntHillArea"
        System.out.println(name);
    }
}

class Area {

}

class AntHillArea extends Area {

}
Run Code Online (Sandbox Code Playgroud)

使用getSimpleName方法.它只给你一个类,如果有的话会删除任何包.