注解和反射总结


一、注解

Annotation:@+注释名

  • 不是程序本身,但可以对程序作出解释
  • 可以被其他程序(比如:编译器等)读取
  • 相当于添加了额外的辅助信息,可以通过反射机制编程实现对被注解标注的元数据的访问
  • 举例:@SuppressWarning(“all”):抑制编译时一些无关紧要的警告信息

二、反射

1.静态语言、动态语言

  • 动态语言
    在运行时代码可以根据某些条件改变自身结构
    C#、JS、PHP、Python
  • 静态语言
    与动态语言相对应
    Java、C、C++
    java可以称为准动态语言,可以通过反射机制获得类似动态语言的特性

2.Reflection(反射)

  • 反射机制允许程序在执行期间借助Reflection API取得任何类的内部信息,并且直接操作任意对象的内部属性及方法
Class c = Class.forName("java.lang.String");
  • 加载完类后,在堆内存的方法区中会产生一个Class类型的对象(一个类只有一个Class对象),这个对象包含了完整的类的结构信息。
  • 优点:可以实现动态创建对象和编译,有很大的灵活性
  • 缺点:对性能有影响

在这里插入图片描述


3.Class类的常用方法

在这里插入图片描述


4.Class类的创建方式

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值