在Java中,关于.Class()与.getCalss与.getClass().getName()的区别

/**
 * Java反射
 所谓反射,可以理解为在运行时期获取对象类型信息的操作。
 传统的编程方法要求程序员在编译阶段决定使用的类型,但是在反射的帮助下,
 编程人员可以动态获取这些信息,从而编写更加具有可移植性的代码。
 严格地说,反射并非编程语言的特性,因为在任何一种语言都可以实现反射机制,
 但是如果编程语言本身支持反射,那么反射的实现就会方便很多
 *
 *
 * 实例引用.getClass():获得该对象的类型类
 * 实例引用.getClass().getName():获得该类型的全称名称
 * .Class:获得该类型的类型类
 */
public class test1 {
    public static void main(String[] args) {
        List list = new ArrayList();
        System.out.println(list.getClass());//class java.util.ArrayList
        System.out.println(List.class);//interface java.util.List
        System.out.println(ArrayList.class);//class java.util.ArrayList
        System.out.println(list.getClass() == ArrayList.class);//true
        System.out.println(list.getClass() == List.class);//false
        System.out.println(list.getClass().getName());//java.util.ArrayList

猜你喜欢

转载自blog.csdn.net/qq_28944815/article/details/78200850