三大新特性——枚举、泛型、注解

JDK1.5之后出现三大新特性,枚举、泛型、注解。
(一)枚 举

  • 关键字:enum;
    枚举本质是多例设计模式,虽然Java提供enum关键字,但枚举病史新结构,使用enum定义的枚举本质上相当于class定义的类,默认继承与Java.lang.ENUM父类。
  • 枚举类对象声明必须放在首行;

(二)泛 型

  • 定义是不会设置属性和方法的类型,使用时再定义( 用于解决程序中参数转换问题)
  • 定义:

    • 基本类定义:

      class MyClass<T> {    T value1; }  
      
        <T>    (泛型标识):可以指代任何应用类型;
      
    • 泛型方法:

      class MyClass{    public <T> void testMethod(T t) {        System.out.println(t);    } }
       泛型方法中的 <T>与泛型类<T>没有相应的联系,泛型方法始终以自己定义的类型为基准。
      
    • 通配符:
      ?指代任意类型,作用于方法参数;
      ? extends 类:设置上限(作用于类和方法参数),作用于方法参数时,只能取得值,不能修改值;例如:? extends Number,表示只能够设置Number或其子类,例如:Integer、Double等;
      ? super 类:设计下限(作用于方法参数),用于方法参数时可以修改值;例如:? super String,表示只能够设置String及其父类Object。
  • 泛型接口:
    子类实现接口的方式有两种:

    • 继续保留泛型

      class MessageImpl<T> implements IMessage<T>
    • 声明泛型类型

class MessageImpl implements IMessage<String> 
  • 类型擦除:
    泛型信息只存在于代码编程阶段,进入JVM之前,与泛型相关的信息都会被擦除 ;
    在泛型类被类型擦除的时候,之前泛型类中的类型参数部分如果没有指定上限, 则会被转译成普通的 Object 类型,如果指定了上限 则类型参数就被替换成类型上限。

(三)注 解

  • 准确覆写:@Override
    如果方法被准确覆写,不会有编译错误,否则就会报错;

  • 过期处理:@Deprecated
    作用于雷和方法上,表示不推荐用户使用,但可以正常使用。

  • 压制警告:@Suppresswarnings

  • 自定义注解:(反射部分具体实现)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值