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");
}
}

最新文章

  1. AI第一次作业
  2. 转 Linux 性能优化之 IO 子系统
  3. mysql dump
  4. Triangle
  5. CI 自动提交表单
  6. Node.js学习笔记 02 Implementing flow control
  7. 人们对Python在企业级开发中的10大误解
  8. Gnome 插件介绍
  9. activity+fragment多次切换出现页面空白问题
  10. 九思老客户分享:部署OA办公系统的四大意义
  11. 编译安装dropbear
  12. lua简单入门
  13. Linux 创建静态库(.a)和动态库(.so)
  14. vue路由1:基本使用
  15. 045 介绍UDF,以及完成大小写的转换
  16. FileInputFormat看这一段源码
  17. C#存储过程 传入参数 传出参数 结果集
  18. 移动赋值运算符(c++11)
  19. Web程序中的懒加载异常说明及解决方案
  20. 提高你的Python编码效率的“武林秘籍”

热门文章

  1. Atitit 控制中心快速启动面板quick launcher
  2. salesforce 零基础学习(三十三)通过REST方式访问外部数据以及JAVA通过rest方式访问salesforce
  3. DOM_04之常用对象及BOM
  4. 18.实现如下类之间的继承关系,并编写Music类来测试这些类。
  5. MySQL(四) 数据表的插入、更新、删除数据
  6. LVS负载平衡集群(没成型)
  7. Servlet的四种映射模式
  8. Windows Azure Cloud Service (41) 修改云服务IIS托管管道模式为4.0经典模式
  9. 基于HTML5的WebGL呈现A星算法的3D可视化
  10. 浅谈 block(1) – clang 改写后的 block 结构