zoukankan      html  css  js  c++  java
  • Java 5 的新标准语法和用法详解集锦

    Java 5 的新标准语法和用法详解集锦


    Java 5 的新标准语法和用法详解集锦

    (需要在首选项-java-complier-compiler compliance level中设置为java5.0以上版本)


    1,静态导入

    1,静态导入
    //如import static java.lang.Math.*;
    //导入包或类里面的静态方法.
    
    import static java.lang.Math.max;
    
    /**
     * java5的静态导入
     * @author qsuron - 博客:http://blog.csdn.net/qsuron
     */
    public class Java5 {
    	public static void main(String[] args) {
    		System.out.println(max(1,3));
    	}
    }
    


    2,可变参数的方法:

    /**
     * java5的可变参数方法
     * @author qsuron - 博客:http://blog.csdn.net/qsuron
     */
    public class Java5 {
    	public static void main(String[] args) {
    		//实现  x*(x1+x2+x3+...+xn)
    		System.out.println(add(2,2,3));//2*(2+3)=10
    		System.out.println(add(2,2,3,4,1));//2*(2+3+4+1)=20
    	}
    	public static int add(int x,int... args){
    		int sum = 0;
    		for(int i=0;i<args.length;i++){
    			sum += args[i];
    		}
    		return sum*x;
    	}
    }
    

    3.新增FOR循环:

    /**
     * java5的新FOR循环
     * @author qsuron - 博客:http://blog.csdn.net/qsuron
     */
    public class Java5 {
    	public static void main(String[] args) {
    		//实现  x*(x1+x2+x3+...+xn)
    		System.out.println(add(2,2,3));//2*(2+3)=10
    		System.out.println(add(2,2,3,4,1));//2*(2+3+4+1)=20
    	}
    	public static int add(int x,int... args){
    		int sum = 0;
    		for(int i:args){
    			sum += i;
    		}
    		return sum*x;
    	}
    }


    4.用普通类模拟实现枚举类型 & 用java 5的枚举类型用法和设计详解

    public class Java5 {
    	public static void main(String[] args) {
    		Week weekday = Week.MON;
    		System.out.println(weekday);
    		System.out.println(weekday.nextDay());
    	}
    }
    
    /**
     * 用普通类模拟实现枚举类型-星期
     * @author qsuron - 博客:http://blog.csdn.net/qsuron
     */
    abstract class Week{
    	private String conf;
    	private Week(String conf){
    		this.conf = conf;
    	}
    	
    	/*建立NextDay()抽象方法,将NextDay方法的一堆if...else...转换成为 由子类去覆盖此方法*/
    	public abstract Week nextDay();
    	
    	//建立公开的静态常量子类
    	public final static Week MON = new Week("星期一"){
    		public Week nextDay() {
    			return TUE;
    		}
    	};
    	public final static Week TUE = new Week("星期二"){
    		public Week nextDay() {
    			return WED;
    		}
    	};
    	public final static Week WED = new Week("星期三"){
    		public Week nextDay() {
    			return THI;
    		}
    	};
    	public final static Week THI = new Week("星期四"){
    		public Week nextDay() {
    			return FRI;
    		}
    	};
    	public final static Week FRI = new Week("星期五"){
    		public Week nextDay() {
    			return STA;
    		}
    	};
    	public final static Week STA = new Week("星期六"){
    		public Week nextDay() {
    			return SUM;
    		}
    	};
    	public final static Week SUM = new Week("星期日"){
    		public Week nextDay() {
    			return MON;
    		}
    	};
    	
    	/*重写toString()方法*/
    	public String toString() {
    		return this.conf;
    	}
    	
    }
    
    
    
    /**
     * 使用JAVA5提供的枚举类型 - 基础用法和基本方法
     * @author qsuron - 博客:http://blog.csdn.net/qsuron
     */
    public class Java5 {
    	public static void main(String[] args) {
    		Week w = Week.MON;
    		System.out.println("toString - "+w);
    		System.out.println("与MON比较 - "+w.compareTo(Week.MON));
    		System.out.println("Nama - "+w.name());
    		System.out.println("所在顺序 - "+w.ordinal());
    		System.out.println("枚举数量 - "+Week.values().length);
    	}
    	public enum Week{
    		MON,TUE,WED,THE,FRI,STA,SUM;
    	}
    }
    
    
    
    /**
     * 使用JAVA5提供的枚举类型 - 构造方法
     * 加上private String name  和  重新toString方法可以实现中文信息输出
     * @author qsuron - 博客:http://blog.csdn.net/qsuron
     */
    public class Java5 {
    	public static void main(String[] args) {
    		System.out.println("MON(1),TUE(),WED,THE(1),FRI,STA,SUM();");
    		Week w = Week.MON;
    		System.out.println(w);
    	}
    	public enum Week{
    		MON(1),TUE(),WED,THE(1),FRI,STA,SUM();
    		private Week(){
    			System.out.println("空构造函数");
    		}
    		private Week(int i){
    			System.out.println("带参数构造函数");
    		}
    	}
    }
    
    
    /**
     * 使用JAVA5提供的枚举类型 - 抽象函数
     * 让子类去覆盖抽象方法 - 实现Next()的功能
     * @author qsuron - 博客:http://blog.csdn.net/qsuron
     */
    public class Java5 {
    	public static void main(String[] args) {
    		Week w = Week.MON;
    		System.out.println(w.next());
    	}
    	public enum Week{
    		//由于麻烦,只写2个星期数
    		MON{
    			public Week next(){
    				return TUE;
    			}
    		},
    		TUE{
    			public Week next(){
    				return MON;
    			}
    		};
    		public abstract Week next();
    	}
    }




    转载请注明出处:blog.csdn.net/qsuron 博主qsuron 小树


  • 相关阅读:
    修改mysql的时间/时区
    vue 3.0一些理解
    关于css中常用几种选择器的整理
    docker中MySQL8.0登录提示caching_sha2_password问题解决方法
    java请求url返回json
    weblogic11G 修改密码
    每天一个小知识
    出一套柠檬班测试开发视频(百度网盘)
    JAVA自动化,使用UIAutomator定位
    JAVA自动化,解决Appium无法输入中文问题
  • 原文地址:https://www.cnblogs.com/pangblog/p/3339626.html
Copyright © 2011-2022 走看看