【学习笔记】 唐大仕—Java程序设计 第5讲 深入理解Java语言之5.7 其他几个高级语法

/**
* 其他几个高级语法 学习笔记
* @author cnRicky
* @date 2018.11.11
*/

 

其他几个高级语法

新的语法
  • 从JDK1.5起,增加了一些新的语法
  • 大部分是编译器自动翻译的,称为Complier sugar("糖"用起来很方便,但在底层翻译成别的语法要素了)
语法糖之 基本类型的包装类
  • 基本类型的包装类

    • 它将基本类型(primitive type)包装成Object(引用类型
    • 如int -> Integer
    • 共8类:
      • Boolean,Byte,Short,Character,Integer,Long,Float,Double
  • Integer I = new Integer(10 );

语法糖之 装箱与拆箱
  • 装箱(Boxing) Integer I = 10;

  • 拆箱(Unboxing) int i = I;

  • 实际译为

    • Integer I = Integer.valueOf(10);
    • int i = I.intValue();
  • 主要方便用于集合中,如:

  • Object[] ary = { 1, "aaa" };

语法糖之 枚举
  • 枚举(enum)是一种特殊的class类型

  • 在简单的情况下,用法与其他语言enum相似

    • enum Light { Red, Yellow, Green };
    • Light light = Light.Red;
  • 但实际上,,它生成了 class Light extends java.lang.Enum

自定义枚举
  • 可以在enum定义体重,添加字段、方法、构造方法
enum Direction
{
    EAST("东",1),SOUTH("南",2),
    WEST("西",3),NORTH("北",4);
    private Direction(String desc, int num){
        this.desc = desc;
        this.num = num;
    }
    private String desc;
    private int num;
    public String getDesc(){ return desc; }
    public int getNum(){ return num; }
}

 

语法糖之 注解
  • 注解(annotation)

    • 又称为注记、标记、标注、注释(不同于comments)
    • 是在各种语法要素上加上附加信息,以供编译器或其他程序使用
  • 所有的注解都是java.lang.annotation.Annotation的子类

常用的注解
  • 常用的注解,如:

    • @Override 表示覆盖父类的方法
    • @Deprecated 表示过时的方法
    • @SuppressWarnings 表示让编译器不产生警告
  • 自定义注解,比较复杂,详细信息看教材

public @interface Author{
    String name();
}

 

 
posted @ 2018-11-11 16:24  cnRicky  阅读(264)  评论(0编辑  收藏  举报