吴裕雄--天生自然JAVA反射机制学习笔记:Class类的使用

package org.lxh.demo15.instancedemo ;
class Person{
    private String name ;    // name属性
    private int age ;        // age属性
    public void setName(String name){
        this.name = name ;
    }
    public void setAge(int age){
        this.age = age ;
    }
    public String getName(){
        return this.name ;
    }
    public int getAge(){
        return this.age ;
    }
    public String toString(){    // 覆写toString()方法
        return "姓名:" + this.name + ",年龄:" + this.age  ;
    }
};
public class InstanceDemo01{
    public static void main(String args[]){
        Class<?> c = null ;        // 声明Class对象
        try{
            c = Class.forName("org.lxh.demo15.instancedemo.Person") ;
        }catch(ClassNotFoundException e){
            e.printStackTrace() ;
        }
        Person per = null ;    // 声明Person对象
        try{
            per = (Person)c.newInstance() ;    // 实例化对象
        }catch(Exception e){
            e.printStackTrace() ;
        }
        per.setName("李兴华") ;        // 设置姓名
        per.setAge(30) ;                // 设置年龄
        System.out.println(per) ;    // 内容输出,调用toString()
    }
};
package org.lxh.demo15.instancedemo ;
class Person{
    private String name ;    // name属性
    private int age ;        // age属性
    public Person(String name,int age){
        this.setName(name) ;
        this.setAge(age);
    }
    public void setName(String name){
        this.name = name ;
    }
    public void setAge(int age){
        this.age = age ;
    }
    public String getName(){
        return this.name ;
    }
    public int getAge(){
        return this.age ;
    }
    public String toString(){    // 覆写toString()方法
        return "姓名:" + this.name + ",年龄:" + this.age  ;
    }
};
public class InstanceDemo02{
    public static void main(String args[]){
        Class<?> c = null ;        // 声明Class对象
        try{
            c = Class.forName("org.lxh.demo15.instancedemo.Person") ;
        }catch(ClassNotFoundException e){
            e.printStackTrace() ;
        }
        Person per = null ;    // 声明Person对象
        try{
            per = (Person)c.newInstance() ;    // 实例化对象
        }catch(Exception e){
            e.printStackTrace() ;
        }
        per.setName("李兴华") ;        // 设置姓名
        per.setAge(30) ;                // 设置年龄
        System.out.println(per) ;    // 内容输出,调用toString()
    }
};
package org.lxh.demo15.instancedemo ;
import java.lang.reflect.Constructor ;    // 导入反射机制包
class Person{
    private String name ;    // name属性
    private int age ;        // age属性
    public Person(String name,int age){
        this.setName(name) ;
        this.setAge(age);
    }
    public void setName(String name){
        this.name = name ;
    }
    public void setAge(int age){
        this.age = age ;
    }
    public String getName(){
        return this.name ;
    }
    public int getAge(){
        return this.age ;
    }
    public String toString(){    // 覆写toString()方法
        return "姓名:" + this.name + ",年龄:" + this.age  ;
    }
};
public class InstanceDemo03{
    public static void main(String args[]){
        Class<?> c = null ;        // 声明Class对象
        try{
            c = Class.forName("org.lxh.demo15.instancedemo.Person") ;
        }catch(ClassNotFoundException e){
            e.printStackTrace() ;
        }
        Person per = null ;    // 声明Person对象
        Constructor<?> cons[] = null ;
        cons = c.getConstructors() ;
        try{
            per = (Person)cons[0].newInstance("李兴华",30) ;    // 实例化对象
        }catch(Exception e){
            e.printStackTrace() ;
        }
        System.out.println(per) ;    // 内容输出,调用toString()
    }
};
原文地址:https://www.cnblogs.com/tszr/p/12416964.html