zoukankan      html  css  js  c++  java
  • 反射获取带参数的构造方法

    Constructor

    Class类的newInstance()方法是使用该类无参的构造函数创建对象, 如果一个类没有无参的构造函数, 就不能这样创建了,可以调用Class类的getConstructor(String.class,int.class)方法获取一个指定的构造函数然后再调用Constructor类的newInstance("张三",20)方法创建对象

    import java.lang.reflect.Constructor;
    import com.loaderman.bean.Person;
    
    public class Demo_Constructor {
    
      /**
       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("com.loaderman.bean.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);
        }
    
    }
    
    package com.loaderman.bean;
    
    public class Person {
        private String name;
        private int age;
        public Person() {
            super();
    
        }
        public Person(String name, int age) {
            super();
            this.name = name;
            this.age = age;
        }
    
  • 相关阅读:
    https://www.cnblogs.com/marost/p/4668664.html
    UEFI 坑 Ubuntu
    Spring《六》管理Bean
    Spring《五》集合的注入方式
    Spring《四-一》解决自动装配的问题
    spring《四》自动装配
    Spring《三》ref 引用其他bean
    Spring《二》 Bean的生命周期
    Spring《一》
    Fragment间相互调用并传值
  • 原文地址:https://www.cnblogs.com/loaderman/p/6411270.html
Copyright © 2011-2022 走看看