A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© changzhou88 初级黑马   /  2019-9-18 21:57  /  659 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

//学生类
public class Student {
    private String name;
    private int age;
    public String address;

    public Student() {
    }
    private Student(String name){

    }

    public Student(String name, int age, String address) {
        this.name = name;
        this.age = age;
        this.address = address;
    }

   }//测试类Class<?> c = Class.forName("FanShe.Student");
Student s=new Student("张三",15,"成都");//普通创建
Constructor<?> con = c.getConstructor(String.class, int.class, String.class);//反射创建
Object obj = con.newInstance("张三", 15, "成都");//set方法赋值s.setName("张三");//普通赋值
Field name = c.getDeclaredField("name");
name.setAccessible(true);
name.set(obj,"张三");//调用方法s.Study();
Method study = c.getMethod("Study");
study.invoke(obj);//反射可访问用私有方法及成员变量private void  method(){
    System.out.println("method");
}//学生类中私有方法Method method = c.getDeclaredMethod("method");
method.setAccessible(true);
method.invoke(obj);//测试类调用


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马