day11——EKT(04)

JDK 5.0 新特性简介

JDK 5.0 的一个重要主题就是通过新增一些特性来简化开发,这些特性包括: 静态导入 自动装箱/拆箱 for-each循环 可变参数 枚举 泛型 注解 使用这些特性有助于编写更加清晰,精悍,安全的代码。

静态导入

JDK5.0增加的静态导入语法用于导入指定类的某个静态属性值(方法)或全部静态属性值(方法) 静态导入语句使用 import static 语句 导入指定类的单个静态属性: import static java.lang.System.out 导入指定类全部静态属性 import static java.lang.Math.*

自动装箱/拆箱

自动装箱(autoboxing):把一个基本数据类型直接赋给对应的包装类变量, 或者赋给 Object 变量 自动拆箱:把包装类对象直接赋给一个对应的基本类型变量

 

基本数据类型的自动拆箱与装箱

自动装箱: Integer num1 = 12; 自动拆箱: System.out.println(num1 + 12); 基本数据类型的对象缓存: Integer num1 = 12; Integer num2 = 12;//这块相等,<=127都是真的 System.out.println(num1 == num2); Integer num3 = 129; 这块不相等,因为是对象 Integer num4 = 129; System.out.println(num3 == num4); Integer num5 = Integer.valueOf(12); Integer num6 = Integer.valueOf(12) ; 这块的道理同上 System.out.println(num5 == num6);

 

 for-each循环

使用foreach循环遍历数组和集合元素时, 无须获得数组和集合长度, 无须根据索引来访问数组元素和集合元素, forearch 循环自动遍历数组和集合的每个元素 语法格式: for(type varName : array | collection) { //varName 自动迭代访问每一个元素 }

for-each代码展示:

package demo3;

import java.util.HashSet;
import java.util.Set;

public class Demo1 {
    public static void main(String[] args) {
        int [] arr=new int[]{10,20,30,40,60};
        for (int i:
          arr   ) {
            System.out.println(i);
        }
        Set<String> set=new HashSet<>();
        set.add("《粉雾海》");
        set.add("《想着》");
        set.add("《摩天轮的思念》");

        for (String str:
             set) {
            System.out.println(str);

        }
    }
}

 

枚举类

在某些情况下, 一个类的对象是有限而且固定的(例如:季节类, 行星类), 这种实例有限而且固定的类, 在Java中被称为枚举类

枚举类入门

JDK5 新增的enum关键字用于定义枚举类 枚举类和普通类的区别: 使用 enum 定义的枚举类默认继承了java.lang.Enum类 枚举类的构造器只能使用private访问控制符 枚举类的所有实例必须在枚举类中显示列出(”,”分隔,”;”结尾). 列出的事例系统会自动添加 public static final 修饰 所有的枚举类都提供了一个values方法, 该方法可以很方便地遍历所有的枚举值 JDK5.0 中可以在 switch 表达式中使用枚举类的对象作为表达式, case 子句可以直接使用枚举值的名字, 无需添加枚举类作为限定

实现接口的枚举类

和普通Java类一样枚举类可以实现一个或多个接口 若需要每个枚举值在调用实现的接口方法呈现出不同的行为方式, 则可以让每个枚举值分别来实现该方法

枚举类代码展示:

package demo5;

public enum Sesson implements Iprinter {
    春{
        public void show(){
            System.out.println("春天");
        }
        public void print(){

        }
    },
    夏{
        public void show(){
            System.out.println("夏天");
        }
        public void print(){

        }
    },
    秋{
        public void show(){
            System.out.println("秋天");
        }
        public void print(){

        }
    },
    冬{
        public void show(){
            System.out.println("冬天");
        }
        public void print(){

        }
    }
    ;
}

 心得:

有志者事竟成 :

  意思是有志向的人,做事总就会成功。告诉我们人数要自己去拼搏,自己去奋斗在风雨中百折不挠勇往直前。

 

写于2020年8月26日;

  

posted @ 2020-08-26 18:59  二零二零  阅读(99)  评论(0编辑  收藏  举报