`
chentingk
  • 浏览: 19075 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

反射类,反射技术

 
阅读更多

java框架设计中必备的一种技术,反射技术,加载类之后解剖出类的构造方法,方法,和字段

package cn.netjava.reflect;

import java.awt.List;

public class Person {
	public Person()
	{
		System.out.println("无参构造");
	}
	public Person(int count)
	{
		System.out.println("一个参数的构造");
	}
	public Person(int count1,int count2)
	{
		
		System.out.println(count1+"多个参数的构造"+count2);
	}
	private Person(List list)
	{
		System.out.println("私有构造");
		
	}
}

 

package cn.netjava.reflect;

import java.awt.List;
import java.lang.reflect.Constructor;
import java.util.ArrayList;

public class Demo {

	/**
	 * @throws ClassNotFoundException 
	 * 
	 */
	/**
	 * 	//1加载类的方法
		Class clazz=Class.forName("/练习题/src/cn/netjava/reflect/Person");
		//2
		Class clazz1 =new Person().getClass();
		//3
		Class clazz2=Person.class;
		
	 */
	public static void main(String[] args)  {
		

	}
	
	//解剖测试
	@org.junit.Test
	public void Test() throws Exception
	{
		Class clazz=Class.forName("cn.netjava.reflect.Person");
		Constructor c=clazz.getConstructor(null);
		Person p=(Person)c.newInstance(null);
		
	}
	//解剖有参构造函数
	@org.junit.Test
	public void Test1() throws Exception
	{
		Class clazz=Class.forName("cn.netjava.reflect.Person");
		Constructor c=clazz.getConstructor(int.class,int.class);
		Person p=(Person) c.newInstance(1,2);
		
	}
	//解剖私有构造函数
	@org.junit.Test
	public void Test2() throws Exception
	{
		Class clazz=Class.forName("cn.netjava.reflect.Person");
		Constructor c=clazz.getDeclaredConstructor(List.class);
		c.setAccessible(true);//强暴私有构造函数
		Person p=(Person)c.newInstance(new List());
		
	}
	
	

}

 私有的构造方法不能在类外创建对象,但是反射技术可以使得它可以冲破这个权限。

分享到:
评论

相关推荐

    基于光频域反射技术的超弱反射光纤光栅传感技术研究

    采用超弱反射光纤光栅(FBG)结合光频域反射技术(OFDR),实现了大容量、高空间分辨率的准分布式光纤光栅传感网络的解调。通过对拍频信号分离的优化和非线性矫正,利用拍频信号的频谱信息,实现了高空间分辨率的光纤...

    反射技术+简单工厂模式

    反射技术+简单工厂模式 反射技术+简单工厂模式

    Java反射技术的一般应用

    在向学生讲解Class.forName()方法的使用时,有时需要扩展讲解为什么这样书写的原理,于是,扩展讲解Java反射技术可以查看被监视类的方法(构造方法和普通方法)、公有属性的功能,以达到封闭功能的效果。该例子使用...

    反射实例 帮助你透彻理解反射技术 .net

    简单地运用反射技术,呈现出反射的思想,实现自动升级和插件技术

    采用反射技术和XML的通用实体类

    采用反射技术和XML,自动生成实体类和SQL语句..............

    C# 反射技术应用

    C# 反射技术应用  反射(Reflection)是.NET中的重要机制,通过放射,可以在运行时获得.NET中每一个类型(包括类、结构、委托、接口和枚举等)的成员,包括方法、属性、事件,以及构造函数等。还可以获得每个...

    java反射技术分析类结构实验

    运行程序,指定一个要分析的类名称,如java.lang.Double,输出类中声明的属性、方法、构造函数等。

    类加载机制及反射

    类加载机制及反射 类加载机制及反射

    反射技术与类

    通过反射操作类 更好的理解setter,getter的重要性

    反射、Annotation与aop技术文档

    反射、Annotation与aop技术文档 反射、Annotation与aop技术文档,

    java反射技术ppt

    详细讲解了java反射技术,简单易懂,可以很轻松的学习java的反射机制

    Java常用的反射方法

    反射获取Class类对象的三种方法 2.1 通过全类名的方式获取 2.2 类名.class 2.3 实例对象.getClass() 2.4 总结 3. 反射获取属性变量 3.1 获取所有public修饰符的成员变量 3.2 获取指定字段并赋值 3.3 获取...

    jsp 反射技术例子

    Java反射案例 jsp反射调用 一个不错的例子 共大家学习

    C#利用反射类的技术实现sql动态增删改查.rar

    提高C#利用反射类的技术实现sql动态增删改查源代码,利用反射对象技术在VS上实现SQL数据库的动态增删改查的实例。

    .NEt插件反射的技术

    .Net的在线升级的案例插件接口加反射的技术与与代码

    JAVA2 反射技术 pdf

    反射本身是JAVA 语言的特性,使JAVA 语言有一种在运行时态自“自观”的能力。而 其他面向对象的语言却没有类似的功能。

    基础深化和提高-java反射技术

    Java反射技术指的是在运行时动态地获取类的信息、调用对象的方法、操作类的属性等能力。通过反射,程序可以在运行时检查类、实例化对象、调用方法、获取和设置属性,甚至可以动态修改类的结构。 Java反射技术的核心...

    反射技术详解

    常用的技术中的反射技术,上面有很详细的讲解

    框架的概念及用反射技术开发框架的原理

    Java基础加强_框架的概念及用反射技术开发框架的原理

    C++反射技术实践

    本资源主要解决两个问题,一是通过类名的字符串创建相应的类的实例化,二是通过属性的名字字符串类操作相应的类的属性。比如:有一个类TestA,我们如何通过类名称字符串“TestA”来生成类的对象?我们可以怎样来访问...

Global site tag (gtag.js) - Google Analytics