反射认识_01_反射构造方法

package ReflectionConstructor;

import java.lang.reflect.Constructor;

/**
* 调用String的构造方法 将StringBuffer类转换成String类
*/
public class ReflectionConstructor {
   public static void main(String[] args) throws Exception {
// 原始转换
    StringBuffer sb = new StringBuffer("abc");
    String str = new String(sb);
    System.out.println("原始转换,输出:" + str);

// 通过反射转换
    Constructor const1 = String.class.getConstructor(StringBuffer.class);// 获得参数为StringBuffer的构造方法
    String str1 = (String) const1.newInstance(sb);// 执行构造方法
    System.out.println("反射转换,输出:" + str1);
   }
}

时间: 2024-10-11 00:04:50

反射认识_01_反射构造方法的相关文章

java 27 - 3 反射之 通过反射获取构造方法并使用

类 Constructor<T>:提供关于类的单个构造方法的信息以及对它的访问权限. 通过反射的方法获取构造方法并使用  ps:先忽略泛型 A.1:获取构造方法的数组: public Constructor<?>[] getConstructors():获得所有公共构造方法 public Constructor<?>[] getDeclaredConstructors():获得所有构造方法 A.2:获取单个构造方法(用于非私有的构造方法) public Construc

Android(java)学习笔记107:通过反射获得带参构造方法并且使用

1 package cn.itcast_02; 2 3 import java.lang.reflect.Constructor; 4 5 /* 6 * 需求:通过反射去获取该构造方法并使用: 7 * public Person(String name, int age, String address) 8 * 9 * Person p = new Person("林青霞",27,"北京"); 10 * System.out.println(p); 11 */ 12

java通过反射获取私有的构造方法,及反射擦除泛型数据类型约束

/* * 反射获取私有的构造方法运行 * 不推荐,破坏了程序的安全性,封装性 * 暴力私有 */ public class ReflectDemo4 { public static void main(String[] args)throws Exception { Class c=Class.forName("demo01.Person"); Constructor con=c.getDeclaredConstructor(int.class,String.class); //Con

Java 反射机制[Field反射]

Java 反射机制[Field反射] 1.  反射概念及功能 反射就是把Java类中的各种成分映射成相应的Java类.例如一个Java类中用一个Class类的对象来表示.一个类中的组成部分分为成员变量,方法,构造方法,包等等. Java反射机制主要提供了以下功能: 判断在运行时任意一个对象所属的类:在运行时构造任意一个类的对象:判断在运行时任意一个类所具有的成员变量和方法:在运行时调用任意一个对象的方法:生成动态代理. 2.  Field反射 以下代码将obj对象中的String类型的字段对应的

反射机制,反射的性能,如何优化?

反射机制的定义: 是在运行状态中,对于任意的一个类,都能够知道这个类的所有属性和方法,对任意一个对象都能够通过反射机制调用一个类的任意方法,这种动态获取类信息及动态调用类对象方法的功能称为java的反射机制. 反射的作用: 1.动态地创建类的实例,将类绑定到现有的对象中,或从现有的对象中获取类型. 2.应用程序需要在运行时从某个特定的程序集中载入一个特定的类.

java 反射和暴力反射 两个DEMO

该类为反射函数 获取和暴力获取ReflectPoin类中的属性 package com.tuozou.test; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; public class ReflectTest { public ReflectTest() { // TODO Auto-generated con

Java 反射机制[Method反射]

Java 反射机制[Method反射] 接着上一篇Java 反射机制[Field反射],通过调用Person类的setName方法将obj的name字段的Value设置为"callPersonSetNameMethod"来了解什么是Method反射.示例代码很简单,很容易理解. 可以看到Method.invoke()实际上并不是自己实现的反射调用逻辑,而是委托给sun.reflect.MethodAccessor来处理. 真正的反射是调用MethodAccessor.invoke()真

java反射-反射实例化对象-反射获得构造方法-反射获得普通方法-获得属性

链接:https://www.zhihu.com/question/24304289/answer/38218810来源:知乎著作权归作者所有,转载请联系作者获得授权. Class<?> cls = Class.forName("cn.mldn.demo.Person"); // 取得Class对象 第一步:获得对象,构造方法,普通方法,属性 Object obj = cls.newInstance() Constructor<?> cons = cls.get

java 27 - 8 反射之 通过反射来设置某个对象的某个属性为指定值

标题的意思是: 通过反射写一个类,类中有个方法.该方法可以设置某个类中的某个属性(构造方法,成员变量,成员方法)为特定的值 代码: 1 // 该方法的参数列表是一个类的 类名.成员变量.给变量的赋值 2 public void setProperty(Object obj, String PropertyName, Object value) 3 throws NoSuchFieldException, SecurityException, 4 IllegalArgumentException,