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 小树


Java 5 的新标准语法和用法详解集锦的更多相关文章

  1. java中List的用法和实例详解

    java中List的用法和实例详解 List的用法List包括List接口以及List接口的所有实现类.因为List接口实现了Collection接口,所以List接口拥有Collection接口提供 ...

  2. Java for循环的几种用法详解

    本文非常适合初学Java的程序员,主要是来了解一下Java中的几种for循环用法,分析得十分详细,一起来看看. J2SE 1.5提供了另一种形式的for循环.借助这种形式的for循环,可以用更简单地方 ...

  3. Java 中 this 和 super 的用法详解

    前言 这次我们来回顾一下this和super这两个关键字的用法,作为一名Java程序员,我觉得基础是最重要的,因为它决定了我们的上限,所以我的文章大部分还是以分享Java基础知识为主,学好基础,后面的 ...

  4. Java中static变量作用和用法详解

    static表示"全局"或者"静态"的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念. 被static ...

  5. Java中链接MS SQL 数据库用法详解

    一.第一种方法: 使用JDBC-ODBC的桥方式 JDBC-ODBC桥连接器是用JdbcOdbc.class 和一个用于访问ODBC驱动程序的本地库实现的,对于Windows平台,该本地库是一个动态链 ...

  6. Java Enum用法详解

    Java Enum用法详解 用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl.... .现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举 ...

  7. java.util.ResourceBundle国际化用法详解

    java.util.ResourceBundle国际化用法详解 初识国际化和ResourceBundle 这个类主要用来解决国际化和本地化问题.国际化和本地化可不是两个概念,两者都是一起出现的.可以说 ...

  8. linux useradd(adduser)命令参数及用法详解(linux创建新用户命令)

    linux useradd(adduser)命令参数及用法详解(linux创建新用户命令) useradd可用来建立用户帐号.帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号 ...

  9. Java语言Socket接口用法详解

    Socket接口用法详解   在Java中,基于TCP协议实现网络通信的类有两个,在客户端的Socket类和在服务器端的ServerSocket类,ServerSocket类的功能是建立一个Serve ...

随机推荐

  1. BNU10806:请在此处签到

    每年圣诞,ZUN都会邀请很多人到幻想乡举行联欢,今年也不例外.在联欢前,所有人需要在自己的昵称旁签到(签全名),以示出席.然后ZUN 会把大家的签到表保存下来作为纪念,以激励来年努力工作.   昵称: ...

  2. QlikView实现部分载入数据的功能(Partial Load)

    问题背景: 一直非常想不通,公司花了N多钱请了一帮QlikView的Consultant做出来的solution居然没有涉及Reload的部分,以至于每次刷新数据都须要刷新整个Data Model,之 ...

  3. C# 异步和委托学习

    IAsyncResult是接口: IAsyncResult 异步设计模式通过名为 BeginOperationName 和 EndOperationName 的两个方法来实现原同步方法的异步调用,如 ...

  4. Android Xfermode 实战 实现圆形、圆角图片

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/42094215,本文出自:[张鸿洋的博客] 1.概述 其实这篇本来准备Androi ...

  5. Android 打造形形色色的进度条 实现可以如此简单

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/43371299 ,本文出自:[张鸿洋的博客] 1.概述 最近需要用进度条,秉着不重 ...

  6. storm启动流程

    email:chenguibin2004@126.com storm: 是一个分布式的实时流式计算框架,具有低延迟.高可用.分布式.可扩展.数据不丢失的特点, storm包含四个核心组件: Nimbu ...

  7. RMAN的show,list,crosscheck,delete命令

    1.SHOW命令:      显示rman配置: RMAN> show all; 2.REPORT命令: 2.1.RMAN> report schema 报告目标数据库的物理结构; 2.2 ...

  8. Centos7安装Oracle JDK

    查看Linux是否自带的JDK,如有openJDK,则卸载 java -version

  9. _js day9

  10. jquery选择指定元素之外的所有元素

    最近的项目中有这么一个需求,点击一排图片中的任意一张后底部弹出一个对话框,要求点击任意地方隐藏对话框 这个时候用not()显然是不现实的,用closest()可以实现差不多的功能 <!DOCTY ...