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. 未能载入文件或程序集“DAL”或它的某一个依赖项。系统找不到指定的文件。

    这个一般出如今三层给B层与D层之间加抽象工厂-接口-映射.时候出的错.出错的地方是抽象工厂. --如图 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTA ...

  2. springmvc4+hibernate4分页查询功能

    Springmvc+hibernate成为现在很多人用的框架整合,最近自己也在学习摸索,由于我们在开发项目中很多项目都用到列表分页功能,在此参考网上一些资料,以springmvc4+hibnerate ...

  3. Java第三周学习日记

    Day01 1.线程 进程:进程就是正在运行的应用程序.进程负责了内存空间的划分. 线程:一个进程中的代码是由线程去执行的,线程也就是其中一个执行路径. 多线程:一个进程中有多个线程可以同时执行任务. ...

  4. 页面显示磁盘空间使用情况-Agedu

    下载:http://www.chiark.greenend.org.uk/~sgtatham/agedu/ [root@localhost ~]# tar zxvf agedu-r9723.tar.g ...

  5. WebApi2官网学习记录---单元测试

    如果没有对应的web api模板,首先使用nuget进行安装 例子1: ProductController 是以硬编码的方式使用StoreAppContext类的实例,可以使用依赖注入模式,在外部指定 ...

  6. 光盘自动运行HTML页,Autorun文件写法

    1.把你的网页放在一个根目录下面,起名为index.html 2.在目录新建一个autorun.inf的文件,打开后编辑为以下内容: 代码如下: [autorun]icon=***.ico(加图标) ...

  7. ASP.NET优化性能方法之一禁用调试模式(转)

    若要设置 ASP.NET 应用程序的调试模式,必须编辑应用程序的 Web.config 配置文件. 通常,ASP.NET 应用程序的 Web.config 文件与应用程序位于相同的 URL 位置上. ...

  8. Masters of Doom

    http://blog.codinghorror.com/you-dont-need-millions-of-dollars/ "In the information age, the ba ...

  9. java web实现img读取盘符下的图像

    最近做了一个项目,用户上传图片后通过img控件显示出来.大家都知道img通过src属性就可以显示图片.如<img src="http://127.0.0.1/a/b/abc.jpg&q ...

  10. iOS开发-清理缓存功能的实现

    移动应用在处理网络资源时,一般都会做离线缓存处理,其中以图片缓存最为典型,其中很流行的离线缓存框架为SDWebImage. 但是,离线缓存会占用手机存储空间,所以缓存清理功能基本成为资讯.购物.阅读类 ...