.getclass()在Java.long.Object类下;
返回的是此对象运行时的class对象
1,获得类型类
我们知道在Java中一切都是对象,我们一般所使用的对象都直接或间接继承自Object类。Object类中包含一个方法名叫getClass,利用这个方法就可以获得一个实例的类型类。类型类指的是代表一个类型的类,因为一切皆是对象,类型也不例外,在Java使用类型类来表示一个类型。所有的类型类都是Class类的实例。例如,有如下一段代码:
- A a = new A();
- if(a.getClass()==A.class) {
- System.out.println("equal");
- } else {
- System.out.println("unequal");
- }
- 输出equal;
a是类A的一个实例化对象在if语句中返回的正是A类型类。
在Java中一个特定的类型类可以用“类型.class”的方式获得。因为a.getclass()获得的正是类型A类也就是A.class
因此结果是equals.
特别注意的是,类型类是一一对应的,父类的类型类和子类的类型类是不同的,因此,假设A是B的子类,那么如下的代码将得到“unequal”的输出:
- A a = new A();
- if(a.getClass()==B.class) {
- System.out.println("equal");
- } else {
- System.out.println("unequal");
- }
- 输出unequal;
因此,如果你知道一个实例,那么你可以通过实例的“getClass()”方法获得该对象的类型类,如果你知道一个类型,那么你可以使用“.class”的方法获得该类型的类型类。
getName():String:获得该类型的全称名称。
扫描二维码关注公众号,回复:
101669 查看本文章