Java中object.getClass()和Object.class的区别

    技术2023-06-06  98

    区别

    类名.class叫做“类字面量”,因class是关键字, 所以类名.class编译时确定。而getClass()是某个具体的实例对象来调用,是运行时确定的,getClass()是动态而且是final的

    实例

    抽象类 package com.kang; public abstract class Animal { } 子类 package com.kang; public class Dog extends Animal { public static void main(String[] args) { Animal animal = new Dog(); System.out.println(animal.getClass().getName()); //输出com.kang.Dog System.out.println(Animal.class.getName()); //输出com.kang.Animal } }

    运行结果: com.kang.Dog com.kang.Animal

    Processed: 0.011, SQL: 9