[javaSE] 反射-Class类的使用
2023-02-18 15:47:43 时间
JAVA-Reflect 专题
①Class类的使用
②方法的反射
③成员变量的反射
④构造函数的反射
⑤java类的加载机制
Ⅰ在面向对象的世界里,万事万物皆为对象
类是对象,类是java.lang.Class类的实例对象
ⅡClass类的实例对象有三种表示方式
//第一种表达方式(已知类名)
//第二种表达方式(已知对象)
//第三种表达方式(通过类全称)
package com.tsh.reflect; public class ReflectDemo { public static void main(String[] args) { Foo foo1=new Foo(); //Class类的实例对象 //第一种表达方式(已知类名) Class c1=Foo.class; //第二种表达方式(已知对象) Class c2=foo1.getClass(); //第三种表达方式(通过类全称) Class c3=null; try { c3=Class.forName("com.tsh.reflect.Foo"); } catch (ClassNotFoundException e) { e.printStackTrace(); } //官网解释:c1和c2表示了Foo类的类类型(class type) //一个类只可能是Class类的一个对象,因此下面的输出true System.out.println(c1==c2); //可以通过类的类类型创建该类的实例对象 try { //该类需要有无参数的构造方法 Foo foo2=(Foo) c1.newInstance(); foo2.print(); } catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } } } class Foo{ void print(){ System.out.println("test"); } }
相关文章
- Java基础系列(10)- 类型转换
- Java基础系列(8)- 数据类型
- Java基础系列(7)- 标识符和关键字
- Java基础系列(6)- 注释
- Java基础系列(5)- 使用IDEA开发
- Java基础系列(4)- 编译型和解释型
- Java基础系列(3)- HelloWorld详解
- Java基础系列(2)- Java开发环境搭建
- ☕【Java技术指南】「TestNG专题」单元测试框架之TestNG使用教程指南(下)
- ☕【Java技术指南】「TestNG专题」单元测试框架之TestNG使用教程指南(上)
- ☕【Java技术指南】「OpenJDK专题」想不想编译属于你自己的JDK呢?(Windows10环境)
- 🏆【JVM技术专区】「编译技术专题」带你彻底认识Java的编译技术
- ☕【Java技术指南】「编译器专题」重塑认识Java编译器的执行过程(常量优化机制)!
- ☕【Java技术指南】「Guava Collections」实战使用相关Guava不一般的集合框架
- ☕【Java技术指南】「并发原理专题」AQS的技术体系之CLH、MCS锁的原理及实现
- 【ShardingSphere技术专题】「ShardingJDBC」SpringBoot之整合ShardingJDBC实现分库分表(JavaConfig方式)
- 🏆【Java技术专区】「开发实战专题」Lombok插件开发实践必知必会操作!
- 🏆【Java技术专区】「编译器专题」重塑认识Java编译器的执行过程(消除数组边界检查+公共子表达式)!
- 🏆【Java技术专区】「延时队列专题」教你如何使用【精巧好用】的DelayQueue
- 🏆【Java技术专区】「探针Agent专题」Java Agent探针的技术介绍(1)