zoukankan      html  css  js  c++  java
  • 泛型、反射、注解

    泛型:

     泛型,也就是参数化类型,在运行时由具体的类型来替换这个泛型参数。
    它是在JDK5.0才加入的一个新功能,它主要带来的好处是安全简单,它
    可以在编译时检查我们的类型安全,并且消除了类型的强制转换。
    (注意:Java中的泛型是在编译后就会擦除掉,也就是说在编译时,编译器
    可以检查的泛型参数类型是否合法,如果不合法,编译将无法通过。但是编译
    通过通过,这种泛型参数类型就会擦出掉,变为原始的Object类型)
     
    泛型主要涵盖以下几点:
    1)泛型类
    2)泛型接口
    3)泛型方法
     
    反射:JAVA反射机制是在运行状态中,对于任意一个类(Class对象),都能够知道这个类的所有属性和方法,也可以通过这个Class对象来创建类的实例;
     
    JVM---类加载--->class文件----创建--->Class对象---->构建类的实例--->instance(实例) 
     
    重点在运行时动态的操作Class对象
     
    1.获取Class对象的三种方式
    1)Class.forName("com.sqlserver.driver.SQLServerDriver");
    2)  Xxxx.class
    3)  对象.getClass()

    2.通过Class对象创建实例

    clazz.newInstance();//相当于new了一个对象出来(注意:newInstance方法要求相应的类必须提供一个无参的并且是public的构造方法)

    3.Class类的常用API

    1)getName() //返回的是一个完整类名
    2)getSimpleName()//返回一个简单的类名,不包含包名
    3) getPackage().getName() //获取类的包名
    4)getSuperClass() //返回父类的Class对象
    5)getField(String name) //返回指定名称的公共(public)属性
    6)getDeclaredField(String name)//返回指定名称的属性(包括公共和私有的)
    7)getFields() //访问所有使用public修饰的属性
    8)getDeclaredFields() //返回所有的属性(包括公共和私有的)
    9) getMethd(String name, Class paramType) // 根据方法名获取具体使用public修饰的某个方法对象,返回的是一个Method对象
    10) getDeclaredMethd(String name, Class paramType) // 根据方法名获取具体的某个方法对象(可以是公共的和私有的),返回的是一个Method对象
    11)getMethods() //返回当前类所有public修饰的方法,包含继承自Object的方法
    12) getDeclaredMethds() // 返回当前类的所有方法,包括公共和私有的,但是不包括继承自Object的方法 

    4.Field类常用API(代表Class中的属性)

    1)setAccessible(true) //当访问私有成员时,调用此方法打开访问开关
    2)getName()// 获取属性的名字
    3)get(object) //获取属性的值,object参数为当前类的实例
    4)set(object)//给属性赋值,同上

    5.Method类常用API

    1)getName() //获取方法的名字
    2)invoke(Object instance, Object methodParam) //回调方法,invoke返回值就是具体方法的返回值
    3)setAccessible(true) //打开访问开关
     
     
  • 相关阅读:
    企业级工作流解决方案(七)--微服务Tcp消息传输模型之消息编解码
    企业级工作流解决方案(一)--总体介绍
    将博客搬至CSDN
    利用LiveGBS通过GB28181实现PC、手机WEB页面对监控摄像头直播以及语音对讲
    如何利用LiveQing流媒体服务搭建视频快照直播监控-配置定时快照、实时检索
    LiveGBS-GB28181国标流媒体接入安防摄像头或平台时目录结构设备树状展示图
    LiveNVR实现安防摄像头RTSP WEB无插件直播中ONVIF预制位接口的使用说明
    LiveGBS GB28181国标流媒体对几万路摄像头接入时如何配置切换成Mysql_Mariadb数据库
    安防摄像通过GB28181协议实现云端录像存储与回放
    GB28181实现摄像头语音对讲
  • 原文地址:https://www.cnblogs.com/BruningHUA/p/6220958.html
Copyright © 2011-2022 走看看