当前位置: 首页 > news >正文

中山网站建设方案报价西安房产网

中山网站建设方案报价,西安房产网,最好网站建设公司排名,wordpress安装插件失败目录注解注解是啥内置注解元注解TargetRetentionDocumentedInherited自定义注解反射静态语言 和 动态语言Java 反射机制概述Java 反射机制提供的功能Java 反射优点和缺点反射相关的主要 API注解 注解是啥 注解#xff08;Annotation#xff09;是从 JDK 1.5 开始引入的新技… 目录注解注解是啥内置注解元注解TargetRetentionDocumentedInherited自定义注解反射静态语言 和 动态语言Java 反射机制概述Java 反射机制提供的功能Java 反射优点和缺点反射相关的主要 API注解 注解是啥 注解Annotation是从 JDK 1.5 开始引入的新技术 Annotation 的作用 不是程序本身可以对程序作出解释这一点和注释没什么区别可以被其它程序比如编译器等读取 Annotation 的格式 注解是以 “注释名” 在代码中存在的还可以添加一些参数值例如SuppressWarnings(value“unchecked”) Annotation 在哪里使用 可以附加在 packageclassmethodfield等上面相当于给他们添加了额外的辅助信息我们可以通过反射机制编程实现对这些元数据的访问 内置注解 Override定义在 java.lang.Override中此注解只适用于修辞方法表示一个方法声明打算重写超类中的另一个方法声明 Target(valueMETHOD) Retention(valueSOURCE) public interface OverrideDeprecated定义在 java.lang.Deprecated中此注释可以用于修辞方法属性类表示不鼓励程序员使用这样的元素通常是因为它很危险或者存在更好的选择 Documented Retention(valueRUNTIME) Target(value{CONSTRUCTOR,FIELD,LOCAL_VARIABLE,METHOD,PACKAGE,PARAMETER,TYPE}) public interface DeprecatedSuppressWarnings定义在 java.lang.SuppressWarings中用来抑制编译时的警告信息与前两个注释有所不同你需要添加一个参数才能正确使用这些参数都是已经定义好了的我们选择性的使用就好了 SuppressWarnings(“all”) SuppressWarnings(“unchecked”) SuppressWarnings(value{“unchecked”,“deprecation”}) 等等… Target(value{TYPE,FIELD,METHOD,PARAMETER,CONSTRUCTOR,LOCAL_VARIABLE}) Retention(valueSOURCE) public interface SuppressWarnings元注解 元注解的作用就是负责注解其它注解Java 定义了 4 个标准的 meta-annotation 类型它们被用来提供对其它注解类型做说明这些类型和它们所支持的类在 java.lang.annotation包中可以找到TargetRetentionDocumentedInherited Target 用于描述注解的作用域 Target(ElementType.TYPE) // 接口、类、枚举、注解 Target(ElementType.FIELD) // 字段、枚举的常量 Target(ElementType.METHOD) // 方法 Target(ElementType.PARAMETER) // 方法参数 Target(ElementType.CONSTRUCTOR) // 构造函数 Target(ElementType.LOCAL_VARIABLE) // 局部变量 Target(ElementType.ANNOTATION_TYPE) // 注解 Target(ElementType.PACKAGE) // 包Retention 表示需要在什么级别保存该注释信息用于描述注解的生命周期SOURCE CLASS RUNTIME RetentionPolicy.SOURCE 这种类型的Annotations只在源代码级别保留,编译时就会被忽略,在class字节码文件中不包含。RetentionPolicy.CLASS 这种类型的Annotations编译时被保留,默认的保留策略,在class文件中存在,但JVM将会忽略,运行时无法获得。RetentionPolicy.RUNTIME 这种类型的Annotations将被JVM保留,所以他们能在运行时被JVM或其他使用反射机制的代码所读取和使用。 Documented 说明该注解将被包含在 javadoc 中 Inherited 说明子类可以继承父类中的该注解 自定义注解 使用 interface 自定义注解时自动继承了java.lang.annotation.Annotation 接口 分析 interface 用来声明一个注解格式public interface 注解名 {定义内容}其中的每一个方法实际上是声明了一个配置参数方法的名称就是参数的名称返回值类型就是参数的类型返回值只能是基本类型ClassStringenum可以通过 default 来声明参数的默认值如果只有一个参数成员一般参数名为 value注解元素必须要有值我们定义注解元素时经常使用空字符串0 作为默认值 public class Test01 { // 注解可以显示赋值如果没有默认值我们就必须给注解赋值MyAnnotation(age 18, name lisa)public void test() { }DemoAnnotation(注解测试)public void test1() {} }Target({ElementType.TYPE, ElementType.METHOD}) Retention(RetentionPolicy.RUNTIME) interface MyAnnotation {// 注解的参数参数类型 参数名()String name() default ;int age();// 如果默认值为 -1代表不存在int id() default -1;String[] schools() default {大学}; }Target({ElementType.TYPE, ElementType.METHOD}) Retention(RetentionPolicy.RUNTIME) interface DemoAnnotation {String value(); }反射 反射的应用可以参考这篇详细的文章Java反射机制的简单使用 静态语言 和 动态语言 动态语言 动态语言是一类在运行时可以改变其结构的语言例如新的函数、对象、甚至代码可以被引进已有的函数可以被删除或是其它结构上的变化。通俗一点说就是在运行时代码可以根据某些条件改变自身结构。如Python、JavaScript、C#、PHP等 静态语言 与动态语言相对应运行时结构不可变的语言就是静态语言如 Java、C、C Java 不是静态语言但是 Java 可以称之为 “准动态语言”。即 Java 有一定的动态性我们可以利用反射机制获得类似动态语言的特性。Java 的动态性让编程的时候更加灵活 Java 反射机制概述 Reflection反射是 Java 被视为动态语言的关键反射机制允许程序在执行期借助于 Reflection API 取得任何类的内部信息并能直接操作任意对象的内部属性以及方法 Class c Class.forName(java.lang.String);加载完类之后在堆内存的方法区中就产生了一个 Class 类型的对象一个类只有一个 Class 对象这个对象就包含了完整类的类的结构信息。我们可以通过对这个对象看到的类的结构。这个对象就像一面镜子通过这个镜子看到类的结构所以我们形象地称之为反射 正常方式 引入需要的 “ 包类 ” 名称 —— 通过 new 实例化 —— 取得实例化对象 反射方式正常方式反过来 实例化对象 —— getClass() 方法 —— 得到完整的 “包类” 名称 Java 反射机制提供的功能 在运行时判断任意一个对象所属的类 在运行时构造任意一个类的对象 在运行时判断任意一个类所具有的成员变量和方法 在运行时获取泛型信息 在运行时调用任意一个对象的成员变量和方法 在运行时处理注解 生成动态代理 Java 反射优点和缺点 优点 可以实现动态创建对象和编译体现出很大的灵活性 缺点 对性能有影响。使用反射基本上是一种解释操作我们可以告诉 JVM我们希望做什么并且它满足我们什么要求这类操作总是慢于直接执行相同的操作 反射相关的主要 API java.lang.Class 代表一个类 java.lang.reflect.Method 代表类的方法 java.lang.reflect.Field 代表类的成员变量 java.lang.reflect.Constructor 代表类的构造器
http://www.yutouwan.com/news/406822/

相关文章:

  • 商城网站开发业务网站logo设计创意
  • 烟台市未成年思想道德建设网站推广产品的文案
  • 网站开发报告书手机网站的好处
  • 网站的主要栏目及功能网页设计html代码大全及含义
  • 傻瓜式网站界面小程序和网站建设需要多钱
  • 打开网站 磁盘空间不足电子商务网站建设与管理的感受
  • 网站建设企业网站制作平台百度打广告多少钱
  • 创建公司网站用什么软件asp网站源码 生成静态
  • 网站的专题怎么做wordpress高亮linux
  • 云虚服务器网站建设宣传型企业网站设计方案
  • 越南建设部网站百度站长资源平台
  • 网站开发的基本知识最好的html5画廊显示质量html5的网站
  • wpf做网站网站建设的意义与价值
  • 做一个网站的步骤设计型网站
  • 购物网站开发大纲网站编辑框超链接怎么做
  • 网站怎么做预约小程序锦州建设工程信息网站
  • 网站开发维护成本福州产品网页制作的公司
  • 工业设计软件上市公司seo优化 搜 盈seo公司
  • 连云港网站建设方案船员专用网站开发建议
  • 怎么做网站写书做网站怎么找优质客户
  • 太仓市住房和建设局网站网站开发公司特点
  • 智联招聘网站怎么做两份简历模板莱芜市城乡建设局网站
  • 想自己搭建网站得怎么做制作彩票网站需要多少钱
  • 新手初做网站镇江网站建设哪家好
  • 多合一网站建设上谷网络网站建设
  • 呼和浩特网站推广公司品质好
  • 58同城网站建设深圳丽丽亚广州最富裕的三个区
  • 微信网站建设知识wordpress显示段落
  • 活动网站推广网站建商城
  • 做网站是通过怎么挣钱网站建设实训总结200