java基础之反射

反射

是一种底层技术. 通常用于底层框架的编写

类对象-Class

  • 类对象:是类加载的产物,存放着类的所有信息(如: 属性、方法、构造、父类信息、接口信息等)。 通常只有一个

  • 类的对象:是类实例化的产物,存放着对象的具体信息,可以存在多个

获取
  1. 引用名.getClass()

    //创建学生对象        Student stu = new Student();        //获取类对象        Class c1 = stu.getClass();
    
  2. 类名.class

    Class<Student> c2 = Student.class;
    
  3. Class.forName(“全限定名”)

    

  1. Class c3 = Class.forName("com.by.entity.Student");
    • forName()需要处理非运行时异常

构建类的对象
  1. 类的对象 newInstance(): 通过无参构造构建类的实例

    //无泛型的类对象-构建类的实例 Student student1 = (Student) c1.newInstance(); //有泛型的类对象-构建类的实例 Student student2 = c2.newInstance();
    
  2. 利用有参构造获取类的实例

    • Constructor<?> getDeclareConstructor(参数列表的类对象): 获取类对象中的有参构造器对象

      • 构造器对象.newInstance(实参列表): 构建类的实例对象

    Constructor<Student> con = c3.getDeclaredConstructor(String.class, int.class, double.class);        //利用有参构造器获取类的实例对象        Student student3 = con.newInstance("张三", 20, 88.5);
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

这孩子叫逆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值