`
零度弥合
  • 浏览: 20640 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

到底什么是反射

 
阅读更多

到底什么是反射,之前我只知道java反射是学习SSH等框架必须使用的。

package refllect;

import java.lang.reflect.Constructor;

import domain.User;

public class ReflectTest {
	public static void main(String[] args) throws Exception {
		Class clazz = User.class;
		Object o = create(clazz);
		System.out.print(o);
	}
	
	static Object create(Class clazz) throws Exception{
		Constructor c = clazz.getConstructor(String.class);
		Object o = c.newInstance("new name");
		return o;
	}
}
package domain;

import java.util.Date;

public class User {
	public User() {
	}
	public User(String name) {
		this.name = name;
	}
	private int id;
	private String name;
	private Date birthday;
	private float money;
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public Date getBirthday() {
		return birthday;
	}
	public void setBirthday(Date birthday) {
		this.birthday = birthday;
	}
	public float getMoney() {
		return money;
	}
	public void setMoney(float money) {
		this.money = money;
	}
	@Override
	public String toString() {
		return "User [id=" + id + ", name=" + name + " birthday=" + birthday
				+ " money=" + money + "]";
	}
}

  

 从书上第一个例子来看,反射就是在一个方法内,在不知道构建什么类的实例的情况下,构造一个类的实例,说起来有的绕,但感觉这东西好基础。

其实构建实例就是这么简单的一句

Object o = clazz.newInstance();

 不过这只能够实例化,无参构造方法的类,也就是默认的。

Constructor c = clazz.getConstructor(String.class);

 上面这句是创建了一个构造器然后,再用这个构造器去创建实例。

可是我有个疑问,这么简单的东西,很多书为什么会花那么长的篇幅去介绍呢???

是我还有很多东西没学,还是我理解的不对。

 

分享到:
评论

相关推荐

    信号完整性(五):信号反射

    对于信号来说,它不会区分到底是什么,信号所感受到的只有阻抗。如果信号感受到的阻抗是恒定的,那么他就会正常向前传播,只要感受到的阻抗发生变化,不论是什么引起的(可能是中途遇到的电阻,电容,电感,过孔,...

    java 利用反射将同一种对象,不同属性值,合并为一个新的对象

    在web开发中,经常遇到...而使用hibernate,它的修改是基于对象的,如果用户修改的字段非常多,但是我们并不知道用户到底修改了那个字段,这时候就需要一个一个的去判断,因此非常耗时,所以我写了个工具类来帮助大家!

    java反射机制

    - 某个类到底实现了哪些接口。 2. **`Class`对象的生成方式**: - 对于每个类而言,JRE都为其保留了一个不变的`Class`类型的对象。 - `Class`对象只能由系统建立对象。 - 一个类在JVM中只会有一个`Class`实例。...

    5分钟快速看懂ES6中的反射与代理

    反射到底是个什么东西? 它的本质就是一个对象(JS内置的),里边有一些函数可供调用。 为什要叫做反射? 因为它能做的事情,和其他语言(Java、python等)中的反射很相似。其他语言中都叫做反射了,那就共鸣...

    2018年中考物理光学专题专测练习卷

    题目中的情况表明,小红需要移动位置并增大镜头到底片的距离,使底片上的像与小明的一样大。 5. 光的折射和光路图:人眼看到水中物体的位置比实际位置高,这是因为光从水中射向空气时发生了折射。激光笔照亮鹅卵石...

    TT推出适合多尘环境使用的红外感应反射开关

     “当物体位于器件的通道时,从LED发出的光将返回到底座,照射光电晶体管的表面。”OPTEK技术公司的营销副总裁Alan Bennett解释到,“发射器和传感器都采用透明窗口保护,这样便于器件在布满灰尘的环境中使用,比如...

    JavaRpc:JAVA RPC实现,基于动态代理与反射

    废话不多说,现在讲讲RPC到底是什么 RPC基本原理 RPC全程Remote Procedure Call Protocol,即远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC采用客户机/...

    福建省平潭县八年级物理第二次月考试题(无答案) 新人教版 试题.doc

    14. 照相机应用:焦距相等的照相机,若底片上的像变大,需减小镜头到底片的距离。 15. 水滴成像:水滴相当于凸透镜,形成放大、正立的虚像。 16. 光的色散:太阳光通过三棱镜分解为七种颜色,即红、橙、黄、绿、蓝...

    中国XR扩展现实行业研究:XR扩展现实到底是什么?中国XR扩展现实处于何种阶段.pdf

    目前AR光学显示方案主要包括小棱镜、曲面反射、光波导和小孔成像等。这些方案各有优劣,通常需要考虑到重量、体积、视场角、成像质量等因素。小棱镜方案易于实现,成本较低,但视场角有限;曲面反射可以提供较宽的...

    光纤衰减器到底有什么作用

    比如光信号的吸收,将光纤衰减器设定一个可以吸收光能的工作波长范围,在这个范围内,其不反射光,减少不必要的回波反射,通过这种方式达到光功率的衰减效果。一般采用空气隔离技术、位移错位技术、衰减光纤技术、...

    全息瞄准镜.pdf

    在这个过程中,激光被分光器分为两束,一束作为参考光直接照射到全息感光底片上,另一束经过分划板后成为照明光,再调整为平行光照射到底片上。全息照片记录了分划板透射光的振幅和位相等全部信息。要观察全息图像,...

    105页的《分析模式》漫谈合集第1集

    ★UMLChina为什么叒要翻译《分析模式》? ★[缝合故事]1999-幻影战斗机《分析模式》和分析模式(1) ★《分析模式》第2章中文UML图(已修正原书错误)(2.1-2.6) ★Unified Method并不是RUP ★反射·电动车周某 ★...

    八年级物理上学期第三次月考试题(无答案) 新人教版2.doc

    - 使用时需调整镜头到底片的距离,这个距离应该在大于焦距且小于2倍焦距的范围内,即物距大于焦距,像距在1倍焦距和2倍焦距之间。 3. 凸透镜成像变化: - 当物体从无穷远向2倍焦距移动时,所成的像会在镜面后向...

    java从入门到精通第一章到底二十四章

    "Java从入门到精通第一章到底二十四章"这个教程涵盖了从基础到进阶的全方位Java知识,旨在为初学者提供一个系统的学习路径。 首先,第一章通常会介绍Java的历史、特点和应用领域,以及为什么选择Java作为学习对象。...

    易语言源码从外部访问易语言类的私有成员源码.rar

    但这涉及到底层知识,且风险较高,一般不推荐。 4. 封装类:创建一个与原始类有相同私有成员的新类,通过继承并暴露新的公共接口,间接实现对外部访问私有成员。这种方法相对安全,但增加了代码复杂度。 5. 设计...

    java面试题,180多页,绝对良心制作,欢迎点评,涵盖各种知识点,排版优美,阅读舒心

    【基础】String为什么是final 20 【基础】java中String、StringBuffer、StringBuilder的区别 21 【基础】运行时异常和非运行时异常 参见 21 运行时异常 21 非运行时异常 22 【基础】java引用类型 23 强引用(Strong...

    EthoVision 3.0 Reference Manual

    第3节是关于EthoVision的介绍,讲解了EthoVision到底是什么,系统的工作概述,图像感知,图像数字化,对象检测,特征提取,以及行为量化的概念。 第4节讲解了如何设置硬件设备。首先是系统要求,然后是具体的设置...

Global site tag (gtag.js) - Google Analytics