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. UICollectionView的基本使用

    这个控件,看起来与UITableView有点像,而且基本的用法也很相像哦!!! 我们来看看API: #pragma mark - UICollectionViewDataSource // 指定Sec ...

  2. windows下绑定线程(进程)到指定的CPU核心

    一个程序指定到单独一个CPU上运行会比不指定CPU运行时快.这中间主要有两个原因:1)CPU切换时损耗的性能.2)Intel的自动降频技术和windows的机制冲突:windows有一个功能是平衡负载 ...

  3. UITableView的简单总结与回顾

    今天突发奇想的想对UItableView做一下汇总,感觉在编程中这个控件可以千变万化也是用的最多的一个了,下面就为大家简单总结下这个控件,也许还有不足,不过还是请各位不吝赐教了哈,那么我就开始了,我会 ...

  4. Windows Server 2008搭建域控制器《转载51CTO.com》

    Windows Server 2008搭建域控制器 引入 在小型网络中,管理员通常独立管理每一台计算机,如最为常用的用户管理.但当网络规模扩大到一定程度后,如超过 10 台计算机,而每台计算机上有 1 ...

  5. 【转】Xcode升到6.4插件失效,与添加插件不小心点击Skip Bundle解决办法

    转载自:http://www.jianshu.com/p/d51547d29309 今天升级了xcode到6.4 发现之前装的插件不能使用了.这里有一个解决的方案: 步骤如下: 一.查看Xcode的U ...

  6. 先装Net Framework 后 装 IIS的处理办法

    先装IIS话,后面装Net Framework时候会自动注册 处理aspx和ashx等的处理扩展程序 先装Net Framework 后 装 IIS.扩展程序注册在命令:aspnet_regiis - ...

  7. Android打开外部DB文件

    DB文件要放在Assets文件夹下,封装一个工具类,如下: package com.XX.DB; import java.io.File; import java.io.FileOutputStrea ...

  8. Java中书写要注意的地方

    Java的命名规则:以字母.下划线(_)或$符号开头,其后跟任意数目的字母.数字.下划线和$符号.  注意: 数字不能作为标识符的开头: 除了下划线与$符号以外,其余的符号不能使用: 不能使用关键字作 ...

  9. PHP 日期格式化 参数参考

    a - "am" 或是 "pm" A - "AM" 或是 "PM" d - 几日,二位数字,若不足二位则前面补零; 如: ...

  10. hdu1054 树状dp

    B - 树形dp Crawling in process... Crawling failed Time Limit:2000MS     Memory Limit:10000KB     64bit ...