




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
java枚举java注解java 新特性 可变参数java枚举:在类的对象有限的情况下,可是使用枚举类的方式创建有限个类的对象。单例模式是一种特殊的枚举类。自定义枚举类:1,私有化构造器2,在类的内部创建若干个类的对象,public static final3,在类中的其他额外属性,定义为 private final, 可以额外的再声明getter()方法。枚举类的使用:2.使用enum关键字定义枚举类 * 常用的两个方法:valueOf() values() * 枚举类实现接口:让类实现接口以后,重写接口中的抽象方法让类中的对象分别重写接口中的抽象方法必须在枚举类的第一行声明枚举类对象。枚举类与普通类的区别:使用 enum 定义的枚举类默认继承了 java.lang.Enum 类枚举类的构造器只能使用 private 访问控制符所有实例必须在枚举类中首行显式列出(,分隔 ;结尾). 列出的实例系统会自动添加 public static final 修饰JDK 1.5 中可以在 switch 表达式中使用Enum定义的枚举类的对象作为表达式, case 子句可以直接使用枚举值的名字, 无需添加枚举类作为限定实例:interface Infopublic void show();enum Person01 implements InfoMAN(man,true)public void show()System.out.println(getType()+ has mustache +isMustache();,WOMAN(woman,false)Overridepublic void show()System.out.println(getType()+ has mustache +isMustache();private final String type;private final boolean isMustache;private Person01(String type,boolean isMustache)this.type = type;this.isMustache = isMustache;枚举类的实例对象MAN与WOMEN必须放在枚举类首行各式:instanceName1 (构造器参数),instanceName2(构造器参数).;另外枚举类可以继承接口,并在枚举实例中实现接口中的抽象方法。枚举类的常用方法:values()返回枚举类型的对象数组。该方法可以很方便地遍历所有的枚举值。valueOf(String str)可以把一个字符串转为对应的 枚举类对象。要求字符串必须是枚举类对象的“名字”。如不是,会有运行时异常。否则,报java.lang.IllegalArgumentException异常枚举类的对象可以分别实现接口的抽象方法。java注解Annotation主要内容1 JDK内置的三个常用注解2 如何自定义一个注解3 元注解:对现有注解进行注解的一种注解4 通过反射机制或许类的注解信息(反射的时候深入)JDK内置的基本注解类型(3个)Override , 限定重写父类方法, 该注释只能用于方法Deprecated, 用于表示某个程序元素(类, 方法等)已过时SuppressWarnings,抑制编译器警告,该注解需要参数自定义注解类型定义新的 Annotation 类型使用 interface 关键字Annotation 的成员变量在 Annotation 定义中以无参数方法的形式来声明. 其方法名与返回值定义了该成员的名字与类型. 可以在定义 Annotation 的成员变量时为其指定初始值, 指定成员变量的初始值可使用 default 关键字public interface MyAnnotation String name() default “atguigu; 没有成员定义的 Annotation 称为标记; 包含成员变量的 Annotation 称为元数据 Annotation对注解进行注解(4个)5.0提供了专门在注解上的注解类型,分别是:Retention:指定该annotation保留的时间Rentention 包含一个 RetentionPolicy 类型的成员变量, 使用 Rentention 时必须为该 value 成员变量指定值: RetentionPolicy.SOURCE: 编译器直接丢弃这种策略的注释RetentionPolicy.CLASS: 编译器将把注释记录在 class 文件中. 当运行 Java 程序时, JVM 不会保留注解。 这是默认值RetentionPolicy.RUNTIME:编译器将把注释记录在 class 文件中. 当运行 Java 程序时, JVM 会保留注释. 程序可以通过反射获取该注释 Target: 用于修饰 Annotation 定义, 用于指定被修饰的 Annotation 能用于修饰哪些程序元素或者结构 Target 也包含一个名为 value 的成员变量.Documented: 用于指定被该元 Annotation 修饰的 Annotation 类将被 javadoc 工具提取成文档.定义为Documented的注解必须设置Retention值为RUNTIME。Inherited: 被它修饰的 Annotation 将具有继承性.如果某个类使用了被 Inherited 修饰的 Annotation, 则其子类将自动具有该注解,实际应用中,使用较少利用反射获取注解信息(在反射部分涉及)总结:注解(annotation)的学习 * 1.jdk内置的三个常用的注解 * Override: 限定重写父类方法, 该注解只能用于方法 * Deprecated: 用于表示某个程序元素(类, 方法等)已过时 * SuppressWarnings: 抑制编译器警告 * 2.如何自定义一个注解.以SuppressWarnings为例 * * 3.元注解:对现有的注解进行注解的注解 * Retention:表明所修饰的注解的生命周期。 SOURCE / CLASS(默认) / RUNTIME * Target:表明所修饰的注解可以用来修饰的类的结构 * Documented:表明所修饰的注解可以被javadoc解析 * Inherited:表明所修饰的注解是否具有继承性可变个数形参/* * 可变个数形参的方法 * 1.可变个数形参的格式:数据类型 . 形参名 * 2.可变个数的形参的方法在调用时,参数从零个开始,到任意多个都可以 * 3.可变个数的形参的方法与同名的方法间构成重载,若有相同类型的确定个数的形参方法,调用确定个数形参的方法。 * 4.特别地,可变个数的形参的方法与同名的使用数组声明的参数的方法不能在类中共存 * 5.若一个方法中有可变个数的形参,那么此形参必须声明在方法形参的最后 * 6.一个方法中,最多只能声明一个可变个数的形参 */public class ArgsTest public static void main(String args) Integer objs = new Integer1,2,3,4;List list1 = Arrays.asList(objs);/与下面调用是有区别的Arrays.asList(1,2,3,4);List list2 = Arrays.asList(new Integer1,2,3,4);System.out.println(list1.size();System.out.println(list2.size();ArgsTest a = new ArgsTest();a.method();a.method(1,2);a.method(10);a.method(new int3,4);a.method(new int11);/如下的三个方法构成重载public void method(int num)System.out.println(num + !);public void method(String str)System.out.println(str);public void method(int . args
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 离婚协议书范本:离婚后的财产分割协议
- 国际拍卖师聘用合同涵盖艺术品交易
- 签订房屋租赁合同房屋设施损坏责任划分指南
- 离婚协议书签订后子女抚养费调整与支付合同
- 专业房地产销售公司保密协议及竞业限制范本
- 离婚后共同房产及财产管理协议
- 2025版合同样本:无担保借款合同双方
- 人工智能技术在国际贸易中的国际合作路径-洞察及研究
- 2025成都市劳动合同范本
- 无人驾驶汽车自动驾驶级别划分-洞察及研究
- NB-T31052-2014风力发电场高处作业安全规程
- 国际地图语言学研究进展
- 《水利水电建设工程验收规程》-SL223-2008
- AIOT智能物联产业学院建设方案
- 行政管理专业教学实施细则
- 闭合性颅脑损伤重型个案护理
- 紫金矿业员工工作手册
- FZ-T 01158-2022 纺织品 织物刺痒感的测定 振动音频分析法
- 工程部造价管控手册
- 2024公安联考行测题库
- 民政信访业务培训课件
评论
0/150
提交评论