[javaSE] 反射-Class类的使用
2024-08-24 20:00:44
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");
}
}
最新文章
- AI第一次作业
- 转 Linux 性能优化之 IO 子系统
- mysql dump
- Triangle
- CI 自动提交表单
- Node.js学习笔记 02 Implementing flow control
- 人们对Python在企业级开发中的10大误解
- Gnome 插件介绍
- activity+fragment多次切换出现页面空白问题
- 九思老客户分享:部署OA办公系统的四大意义
- 编译安装dropbear
- lua简单入门
- Linux 创建静态库(.a)和动态库(.so)
- vue路由1:基本使用
- 045 介绍UDF,以及完成大小写的转换
- FileInputFormat看这一段源码
- C#存储过程 传入参数 传出参数 结果集
- 移动赋值运算符(c++11)
- Web程序中的懒加载异常说明及解决方案
- 提高你的Python编码效率的“武林秘籍”
热门文章
- Atitit 控制中心快速启动面板quick launcher
- salesforce 零基础学习(三十三)通过REST方式访问外部数据以及JAVA通过rest方式访问salesforce
- DOM_04之常用对象及BOM
- 18.实现如下类之间的继承关系,并编写Music类来测试这些类。
- MySQL(四) 数据表的插入、更新、删除数据
- LVS负载平衡集群(没成型)
- Servlet的四种映射模式
- Windows Azure Cloud Service (41) 修改云服务IIS托管管道模式为4.0经典模式
- 基于HTML5的WebGL呈现A星算法的3D可视化
- 浅谈 block(1) – clang 改写后的 block 结构