反射获取构造方法

/**

  • Class类的newInstance()方法是使用该类无参的构造函数创建对象, 如果一个类没有无参的构造函数,
  • 就不能这样创建了,可以调用Class类的getConstructor
  • (String.class,int.class)方法获取一个指定的构造函数然后再调用Constructor类的newInstance
  • ("张三",20)方法创建对象
  • @throws Exception
    */
    public static void main(String[] args) throws Exception {
        Class clazz = Class.forName("test.appium.Person");
        //Person p = (Person) clazz.newInstance();              通过无餐构造创建对象
        //System.out.println(p);
        Constructor c = clazz.getConstructor(String.class,int.class);   //获取有参构造
        Person p = (Person) c.newInstance("张三",23);                     //通过有参构造创建对象
        System.out.println(p);
    }

原文地址:http://blog.51cto.com/357712148/2158297

时间: 2024-10-10 20:12:13

反射获取构造方法的相关文章

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

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

00111_通过反射获取构造方法并使用

1.在反射机制中,把类中的成员(构造方法.成员方法.成员变量)都封装成了对应的类进行表示.其中,构造方法使用类Constructor表示.可通过Class类中提供的方法获取构造方法: (1)返回一个构造方法 public Constructor<T> getConstructor(Class<?>... parameterTypes) 获取public修饰, 指定参数类型所对应的构造方法 public Constructor<T> getDeclaredConstruc

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

下面我会通过代码形式进行讲解: 1 package cn.itcast_02; 2 3 import java.lang.reflect.Constructor; 4 5 import cn.itcast_01.Person; 6 7 /* 8 * 通过反射获取构造方法并使用. 9 */ 10 public class ReflectDemo { 11 public static void main(String[] args) throws Exception { 12 // 获取字节码文件对

Android(java)学习笔记108:通过反射获取私有构造方法并且使用

1 package cn.itcast_02; 2 3 import java.lang.reflect.Constructor; 4 5 /* 6 * 需求:通过反射获取私有构造方法并使用 7 * private Person(String name){} 8 * 9 * Person p = new Person("风清扬"); 10 * System.out.println(p); 11 */ 12 public class ReflectDemo3 { 13 public st

通过反射获取class文件中的构造方法,运行构造方法

/* * 通过反射获取class文件中的构造方法,运行构造方法 * 运行构造方法,创建对象 * 1.获取class文件对象 * 2.从class文件对象中,获取需要的成员 * * Constructor 描述构造方法对象类 */ 1.person类,用于测试获取无参的构造方法 package cn.itcast.demo1; public class Person { public String name; private int age; /*static{ System.out.printl

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 通过反射获取类的全局变量、方法、构造方法

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 package com.str; public class ZiFuChuan {          public static String ss = "全局变量!!!!!!";     String s2 = null;     public int aa = 1 ;     int aa2;     double dou = 1.1;     Double d = new Dou

java通过反射获取调用变量以及方法

一:反射概念 可以通过Class类获取某个类的成员变量以及方法,并且调用之. 二:通过反射获取方法.变量.构造方法 1 @Test 2 // 通过反射获取类定义的方法 3 public void testMethod() throws Exception { 4 @SuppressWarnings("rawtypes") 5 Class clazz = Class.forName("java.lang.String"); 6 Method[] m = clazz.g

00113_通过反射获取成员方法并使用

1.在反射机制中,把类中的成员方法使用类Method表示: 2.通过Class类中提供的方法获取成员方法: (1)返回获取一个方法 public Method getMethod(String name, Class<?>... parameterTypes) 获取public 修饰的方法 public Method getDeclaredMethod(String name, Class<?>... parameterTypes) 获取任意的方法,包含私有的 参数1: name