• 【通过反射去获取有参构造方法并使用】


    package com.yjf.esupplier.common.test;
    
    import java.lang.reflect.Constructor;
    
    /**
     * @author shusheng
     * @description 通过反射去获取有参构造方法并使用
     * @Email shusheng@yiji.com
     * @date 2018/12/29 13:41
     */
    public class ReflectDemo {
    
        public static void main(String[] args) throws Exception {
            // 获取字节码文件对象
            Class c = Class.forName("com.yjf.esupplier.common.test.Person");
            // 获取带参构造方法对象
            // public Constructor<T> getConstructor(Class<?>... parameterTypes)
            Constructor con = c.getConstructor(String.class,int.class,String.class);
    
            // 通过带参构造方法对象创建对象
            // public T newInstance(Object... initargs)
            Object obj = con.newInstance("林青霞", 27, "北京");
    
            System.out.println(obj);
        }
    
    }
    package com.yjf.esupplier.common.test;
    
    /**
     * @author shusheng
     * @description
     * @Email shusheng@yiji.com
     * @date 2018/12/29 13:42
     */
    public class Person {
    
            private String name;
            int age;
            public String address;
    
            public Person() {
            }
    
            private Person(String name) {
                this.name = name;
            }
    
            Person(String name, int age) {
                this.name = name;
                this.age = age;
            }
    
            public Person(String name, int age, String address) {
                this.name = name;
                this.age = age;
                this.address = address;
            }
    
            public void show() {
                System.out.println("show方法的输出");
            }
    
            public void method(String s) {
                System.out.println("method方法的输出: " + s);
            }
    
            public String getString(String s, int i) {
                return s + "---" + i;
            }
    
            private void function() {
                System.out.println("function方法的输出");
            }
    
            @Override
            public String toString() {
                return "Person [name=" + name + ", age=" + age + ", address="
                        + address
                        + "]";
            }
    
    }
    终身学习者
  • 相关阅读:
    pip 安装依赖 requirements.txt
    TCP三次握手四次挥手详细理解附面试题
    装饰器修复技术
    BBS(第一篇)
    Auth模块
    Django--中间件
    cookie和session
    创建多对多表关系的三种方式
    批量插入数据,自定义分页器
    Django--几个重要方法优化(面试重点)
  • 原文地址:https://www.cnblogs.com/zuixinxian/p/11275221.html
Copyright © 2020-2023  润新知