课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
java编程开发语言可以说是目前市场上使用非常广泛的一种编程语言了,今天我们就一起来了解一下,关于java编程中的反射与注解等功能的应用方式。
Java反射
先,我们得弄清一个,什么是反射(Reflection)。简单的来说,反射就是让我们在程序运行的时候能够查看到类的信息,获取并调用类的任意方法和属性。
在Java运行时,系统会将所有的对象维护一个被称为运行是的类型标识,然后这个信息跟踪这每个对象所属的类,我们可以和根据Java专门的类访问这些信息,这个类就是Class【实际上Class对象表示的是一个类型,它不一定是类,可能是基本数据类型,比如int】。
神奇的Java注解
Java注解可以很简单的说,就是为方法或者其他数据提供描述的东西。
它的本质就是一个接口,一个继承了Annotation的接口。
基本java注解的类型
【元注解】:也就是在自定义一个注解时,可以注解在注解上面,有以下几个元注解——>
@Target:注解的作用目标,用来指明注解可以作用的目标是谁,例如类,方法或者字段属性,里面的value
@Override:子类重写父类的方法时,会使用该注解。用于检查父类是否包含该注解
@Deprecated:当某一方法和字段不推荐使用时,使用该注解标注。
@SuppressWarnings:压制Java的警告
代理
代理就是给某个对象提供一个代理对象,并由代理对象控制对于原对象的访问,即客户不直接操控原对象,而是通过代理对象间接地操控原对象。
代理分为:
静态代理:代理类是在编译时就已经实现好了,成为了一个class文件
动态代理:是在程序运行时动态地生成类字节码,然后加载到JVM中
有几个概念:
抽象角色:接口类
实现角色:实现类
代理角色:代理实现的类,终使用的对象
静态代理
在说动态代理之前,我们先说一下静态代理,静态代理很简单,就是工厂模式。
动态代理
本次动态代理是针对JDK动态代理进行探讨。
正如前面所说,如果我们要在很多类使用同一种逻辑时,会心态爆炸,那么我们怎么去解决这个问题呢,这时候,我们可以想一想反射。
在使用的动态代理的过程中,有两个关键的东东,一个是InvocationHandler接口,一个是Proxy类。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。