1.switch语句不支持的数据类型?
long类型的数据和float类型的数据
2.什么事是反射?
17世纪中叶,法国学者笛卡儿就观察到角膜受到机械性刺激,可引起规律性的眨眼反应,并提出了反射的概念。后来被应用到了计算机领域,在Java语言中的反射是指程序在运行的时候对自身(内部程序)状态和功能的修改能力.它能通过Class对象获取运行程序的所有属性和方法,对其进行调用.
所以我们把Java语言中,动态获取和动态调用的这种机制叫做反射机制.
3.Class对象是如何实现动态获取和动态调用的?
编写一个新的java类时,JVM就会帮我们编译成class对象,存放在同名的.class文件中。
在运行时,当需要生成这个类的对象,JVM就会检查此类是否已经装载内存中。
若是没有装载,则把.class文件装入到内存中。若是装载,则根据class文件生成实例对象。
我们在使用反射机制的时候都会先获取该类的Class对象,
Class c = Class.forName("com.huanruan.test3.DanLi");//通过全类名获取Class对象
Class c1 = DanLi.class;//通过类名来获取Class对象
Class c2 = str.getClass();//通过对象来获取Class对象
获取了Class对象就能够调用此类里面的属性和方法了.
网友评论