认识反射机制|学习笔记

简介: 快速学习 认识反射机制

开发者学堂课程【【名师课堂】Java 高级开发认识反射机制】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/372/detail/4623


认识反射机制


一、 具体内容

二、 范例:调用 g etClass

三、 总结

 

一、 具体内容

反射指的是对象的反向处理操作,首先需要观察一下‘‘正’’的操作。在默认情况下,必须要先导入一个包,而后才能产生类的一个实例化对象:

例如

package cn.mldn.demo;

import java.util.Date;

public class TestDemo {

public static void main(String[ ] args) {

Date date = new Date( ) ;  //正常来讲需要通过类才可以产生实例化对象

}

}

所谓的“反”指的是根据对象来取得对象的来源信息,而这个“反”的操作核心的处理就在于 Object 类的一个方法,即取得 Class 对象:public final<?> getClass;该方法返回的是一个 Class 类对象,这个 Class 描述的就是类。

 

二、范例:调用 getClass

package cn.mldn.demo;

import java.util.Date;

public class TestDemo {

public static void main(String[ ] args) {

Date date = new Date( ) ;  //正常来讲需要通过类才可以产生实例化对象

System.out.println(date.getclass ( ));

}

}

此时通过对象的确取得了对象的来源,这就是“反”的本质。

如:

我们通过 getclass 找到对象 date 的来源,之后就可以对这个对象的来源进行控制,即为核心所在

执行操作的结果:Class java,until,Date

 

三、总结

在反射的世界里面它所看重的不再是一个对象,而是对象身后的组成(类、构造、普通、成员等),这就是“反”的本质

相关文章
|
安全 NoSQL 关系型数据库
使用cnpm搭建企业内部私有NPM仓库
cnpm是企业内部搭建npm镜像和私有npm仓库的开源方案。它同时解决了现有npm架构的一些问题。
1105 0
使用cnpm搭建企业内部私有NPM仓库
|
10月前
|
IDE Java API
Kettle如何进行二次开发?
【10月更文挑战第24天】Kettle如何进行二次开发?
667 0
|
存储 运维 监控
飞书深诺基于Flink+Hudi+Hologres的实时数据湖建设实践
通过对各个业务线实时需求的调研了解到,当前实时数据处理场景是各个业务线基于Java服务独自处理的。各个业务线实时能力不能复用且存在计算资源的扩展性问题,而且实时处理的时效已不能满足业务需求。鉴于当前大数据团队数据架构主要解决离线场景,无法承接更多实时业务,因此我们需要重新设计整合,从架构合理性,复用性以及开发运维成本出发,建设一套通用的大数据实时数仓链路。本次实时数仓建设将以游戏运营业务为典型场景进行方案设计,综合业务时效性、资源成本和数仓开发运维成本等考虑,我们最终决定基于Flink + Hudi + Hologres来构建阿里云云原生实时湖仓,并在此文中探讨实时数据架构的具体落地实践。
飞书深诺基于Flink+Hudi+Hologres的实时数据湖建设实践
|
工业大脑
|
前端开发
CSS选择器优先级(特异性)
CSS选择器优先级(特异性)
57 0
CSS选择器优先级(特异性)
|
前端开发 Java 数据库连接
SpringCloud学习笔记(二)-Config配置
Config分为三个部分:ConfigServer ConfigClient 配置仓库
SpringCloud学习笔记(二)-Config配置
|
算法
15天算法入门(四)
本文反转字符串和反转字符串中的单词III
105 0
|
关系型数据库 MySQL 测试技术
最好的 6 个免费天气 API 接口对比测评
天气 API包含丰富的天气数据,不仅有实时温度、湿度、风速、降水等这些基础数据,还有过去的历史天气数据和未来的天气预测数据,**顶级的天气 API 接口**还会包括天气灾害预警,空气质量指数,日出日落、潮汐及月相相关的天文气象等数据。**天气 API 也并不难获得,本教程将介绍 6 款国内外免费的天气 API,并手把手教你搭建一套属于自己的天气数据看板。**
29279 0
|
Python
kaggle竞赛_mnist_10%
  主要是通过mnist了解kaggle的操作细节,最终这里的结果为: 引入必须的库¶ import pandas as pd import numpy as np import matplotlib.
1278 0
|
前端开发 HTML5 移动开发