/**
* 其他几个高级语法 学习笔记
* @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();
}