当前位置: 首页 > news >正文

Java反射机制

目录

一.回顾之间java程序如何使用类

二.反射概念及作用

1.定义

2.作用

三.Java反射相关API

1.Java反射相关的类主要包括

2.Class类

获得Class的三种方法:

Java中创建对象的方式:

获得构造方法:

获得类中的成员变量的方法:

对成员方法操作的基本案例:

演示通过属性的get和set方法,对类中私有属性进行赋值取值操作:

四.反射优缺点

1. 优点

2. 缺点

五.自定义java对象转json工具类


一.回顾之间java程序如何使用类

1.分析、确定类名、属性名、方法……创建类

public class Car{

        private String name;

        private String color;

        ……

        public void run(){

        }

}

2.创建类的对象

Car bm=new Car();

Car bc=new Car();

3.使用

bm.run();

bc.run();

一切都是已知的。在程序开发中,在哪需要使用哪个类的对象,就在哪创建这个类对象,去使用即可。这种写法对于业务开发是没有问题的。

但是在一些组件或者框架开发中,他们本身是不知道要处理哪些类。

例如:在web.xml中配置了哪些servlet类,tomcat就要创建哪些类的对象。

框架需要只写一套程序,就可以处理我们给他的任意类。框架是如何做到的?

答:以前已知类名的使用方法,可以看作是正向使用类。框架需要对任意类处理时,只是知道类的名字,通过类的名字动态去获取类中的信息。把这种对类的使用方式,称为反向使用。

二.反射概念及作用

1.定义

反射在运行状态中,仅知道一个类名时,就可以动态获得类中信息,创建对象,调用对象成员的机制称为java反射机制。

2.作用

动态获取类的信息。

反射开始于Class类,通过Class类可以获得类中任意信息。(获得构造方法、成员变量、成员方法)

三.Java反射相关API

1.Java反射相关的类主要包括

• Class 类型 

• Constructor 构造方法

• Method 方法

• Field 属性

• 除了Class外,其他类都位于java.lang.reflect包中

2.Class类

Class类的对象,表示当前正在运行中的类和接口。

一旦class文件被加载到内存,就会为其创建一个Class对象。任何类被 使用时都会创建一个Class对象。

Class类是Java反射机制的基础,通过Class类,可以得到一个类的基本 信息。

如何获得类中的信息:可以通过Class类来获得类中的信息

获得Class的三种方法:

Java中创建对象的方式:

①new  ②反序列化  ③反射机制  ④对象克隆

获得构造方法:

获得类中的成员变量的方法:

对成员方法操作的基本案例:

演示通过属性的get和set方法,对类中私有属性进行赋值取值操作:

四.反射优缺点

1. 优点

● 1.增加程序的灵活性,可以在运行的过程中动态对类进行修改和操作

● 2.提高代码的复用率,比如动态代理

● 3.可以在运行时轻松获取任意一个类的方法、属性,并且还能通过反射进行动态 调用

2. 缺点

 ● 1.反射会涉及到动态类型的解析,导致性能要比非反射调用更低

● 2.使用反射技术通常要在一个没有安全限制的程序运行.。

● 3.反射可以绕过一些限制访问的属性或者方法,可能会导致破坏代码本身的抽象性.

五.自定义java对象转json工具类

相关文章:

  • Golang访问Google Sheet
  • Java常见问题(一)
  • 新数据结构(12)——代理
  • python入门笔记5-集合与字典
  • 基于Springboot的公寓报修管理系统【附源码】
  • 环境变量与本地变量
  • 【Python】迭代器与生成器详解(可迭代对象、定义、实现方式、区别、使用场景)
  • ROS 2机器人开发--第一个节点
  • 数据中心储能蓄电池状态监测管理系统 组成架构介绍
  • 网络协议相关知识有哪些?
  • linux进程的内存空间映射(段)
  • Spring Boot 常用注解详解
  • 宠物行业研究系列报告
  • 在大数据分析中如何选择合适的算法和模型
  • 黑马点评—短信登陆商户查询缓存
  • C++:使用 SFML 创建强化学习迷宫场景
  • JAVA EE初阶 JVM
  • nginx作为下载服务器配置
  • FPGA开发要学些什么?如何快速入门?
  • 第8章作业
  • 热点问答|第三轮间接谈判结束,美伊分歧还有多大?
  • 文旅部副部长饶权出任国家文物局局长
  • 在县中,我看到“走出去”的渴望与“留下来”的惯性
  • 巴印在克什米尔发生交火
  • 证券时报:落实“非禁即入” ,让创新活力充分涌流
  • 上海黄浦一季度实到外资总量全市第二,同比增速领先全市