java反射三种方式(能说一下java的反射机制吗)

本文目录
能说一下java的反射机制吗
反射:一个类有多个组成部分,例如:成员变量、方法、构造方法等
反射就是加载类,并解剖出类的各个组成部分
java中有一个Class类用于代表某一个类的字节码。Class类提供加载某个字节码的方法:forName()
forName方法用于加载某个类的字节码到内存中,并使用Class对象进行封装
另外两种得到Class对象的方式:
类名.class
对象。getClass()
SUN公司为简化创建对象的方法,它在Class对象中也提供了一个newInstance方法,用于创建类的对象,这样开发人员可以避免每次都需要去反射Constructor类以创建对象
不过需要注意的是,Class.newInstance方法内部是反射类无参的构造函数创建的对象,所以利用此种方式创建类对象时,类必须有一个无参的构造函数
总结如下:反射机制是开发框架时才运用到的技术
java反射的几个工具方法
//第一种方式获取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();
}

更多文章:
从dnf关服开始当神豪(DNF”十个战法九个豪,还有一个是神豪“这句话还适用么)
2025年7月9日 05:45
method中文翻译(请问teaching approach和teaching method的区别)
2025年12月5日 13:45
compoundbutton(Android上层怎么读写proc节点)
2025年10月24日 03:45
kubernetes源码剖析pdf(client-go 源码分析)
2025年12月3日 03:00
设计模板设置为暗香扑面(计算机ppt怎么幻灯片模板为暗香扑鼻)
2026年7月29日 00:30
java设置excel自动调整行高(excel自动调整行高)
2026年3月20日 00:30
arraylist和array区别(ArraryList,Array string[]的差别是什么)
2026年1月4日 01:00
量化python培训(Python学习,量化交易的应该怎么学)
2026年8月30日 15:30
一个完整的html代码架构(急求HTML格式完整网页框架代码)
2025年6月13日 14:15
数据库管理系统与操作系统(在层次结构上,操作系统处于数据库管理系统的上层吗)
2026年9月23日 04:00











