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;
        }
    
  • 相关阅读:
    pyqt 过滤事件
    python 编码问题
    xpath使用
    BeautifulSoup
    webpack.config.js 大概架构(3)
    图片,html,和其他的打包(2)
    今天开始第一篇
    第一次面试前端,记录下
    阻止默认事件和冒泡
    cookit localStorage sessionStorage 区别
  • 原文地址:https://www.cnblogs.com/loaderman/p/6411270.html
Copyright © 2011-2022 走看看