首页 > 其他分享 >面试题,反射创建类实例的三种方式是什么

面试题,反射创建类实例的三种方式是什么

时间:2023-02-14 11:08:08浏览次数:48  
标签:反射 面试题 对象 stuClass2 class 获取 实例 Student Class


1、获得Class:主要有三种方法:

(1)Object-->getClass

(2)任何数据类型(包括基本的数据类型)都有一个“静态”的class属性

(3)通过class类的静态方法:forName(String className)(最常用)

public class Fanshe {
public static void main(String[] args) {
//第一种方式获取Class对象
Student stu1 = new Student();//这一new 产生一个Student对象,一个Class对象。
Class stuClass = stu1.getClass();//获取Class对象
System.out.println(stuClass.getName());

//第二种方式获取Class对象
Class stuClass2 = Student.class;
System.out.println(stuClass == stuClass2);//判断第一种方式获取的Class对象和第二种方式获取的是否是同一个

//第三种方式获取Class对象
try {
Class stuClass3 = Class.forName("fanshe.Student");//注意此字符串必须是真实路径,就是带包名的类路径,包名.类名
System.out.println(stuClass3 == stuClass2);//判断三种方式是否获取的是同一个Class对象
} catch (ClassNotFoundException e) {
e.printStackTrace();
}

}
}

标签:反射,面试题,对象,stuClass2,class,获取,实例,Student,Class
From: https://blog.51cto.com/u_15258465/6056145

相关文章

  • 面试题 HashMap和HashTable有什么区别
    ......
  • 面试题如何实现一个IOC容器
     ......
  • 面试题 为什么用线程池?解释下线程池参数
     ......
  • 面试题 锁消除是什么
    锁消除是在编译器级别的事情。在即时编译器时,如果发现不可能被共享的对象,则可以消除这些对象的锁操作。也许你会觉得奇怪,既然有些对象不可能被多线程访问,那为什么要加锁呢?写......
  • C++ dll实例
    动态链接库的制作:Windows桌面向导-应用程序类型:动态链接库(.dll)空项目 MyDynamicLib头文件声明函数时,在前面加上extern"C"__declspec(dllexport)1//MyDynami......
  • 前端一面必会vue面试题总结
    Vue模板编译原理Vue的编译过程就是将template转化为render函数的过程分为以下三步第一步是将模板字符串转换成elementASTs(解析器)第二步是对AST进行静态节......
  • 前端二面经典vue面试题总结
    Vue加载流程1.初始化的第一阶段是Vue实例也就是vm对象创建前后:首先Vue进行生命周期,事件初始化发生在beforeCreate生命周期函数前,然后进行数据监测和数据代理的初始化,也就......
  • 前端二面经典react面试题
    如何解决props层级过深的问题使用ContextAPI:提供一种组件之间的状态共享,而不必通过显式组件树逐层传递props;使用Redux等状态库。react实现一个全局的dialogimpo......
  • 京东前端react面试题及答案
    useEffect与useLayoutEffect的区别(1)共同点运用效果:useEffect与useLayoutEffect两者都是用于处理副作用,这些副作用包括改变DOM、设置订阅、操作定时器等。在函数......
  • C++ Lib实例
    Lib文件的调用:1.生成的Lib文件和对应的头文件[MyStaticLib.h StaticLib.lib]复制到工程目录2.将2个文件[MyStaticLib.h StaticLib.lib]导入工程1#include<iost......