java学习笔记——反射

基础回顾

  • Java的三大特性:
    封装 继承 多态
  • Java的核心思想:
    面向对象——万事万物皆对象
  • Java的类:
    具备相同特征的对象的模板

例如:
Person类:
不同事务也具备相同的特征
同一事务具备相同的特征
结论:
按照事务的特征来进行抽取成具体的Java类,由Java类来进行具体对象的创建

Java中的类的特征:
属性:修饰符 类型 属性名 值
结论:可以创建类专门用来表示以上特征,该类的一个对象表示一个具体的属性。

方法:修饰符 返回值类型 方法名 形参 方法体
结论:可以创建类专门用来表示以上特征,该类的一个对象表示一个具体的方法。

构造器:修饰符 形参 方法体
结论:可以创建类专门用来表示以上特征,该类的一个对象表示一个具体的构造器方法。
抽取一个类表示类的共同特征, 一个该类的具体对象存储了一个类的所有的信息

反射的概念和作用

  • 反射的概念:
    万事万物皆对象,类也是对象。
  • 引用:通过反射创建类对象和使用对象。
  • 反射的作用:创建对象
  • 问题:传统方式创建对象:new 类名();前提是必须知道要使用的类,假如无法确定要执行的对象怎么办?(如果要修改使用的类必须修改源码)
    解决:使用反射
  • 反射获取类对象的三种方式:
Class.forName();//根据全限定路径获取
Class clazz1=Class.forName("com.pojo.Person");

对象名.getClass();//根据对象获取
Class clazz2=new Person().getClass();

类名.class//根据类名获取
Class clazz3=Person.class;

常用的方法:

System.out.println("获取类对象的包名——"+clazz1.getPackage());
System.out.println("获取类对象的修饰符——"+clazz1.getModifiers());
System.out.println("获取类的名称(全限定)——"+clazz1.getName());
System.out.println("获取类的名称(类名)——"+clazz1.getSimpleName());
System.out.println("获取类的父类的类对象——"+clazz1.getSuperclass());

注意:通过反射创建的类对象只有一个。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值