---------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流! ----------------------
一、静态导入
import语句可以导入一个类或者某个包中的所有类。
import static 语句导入一个类中的某个静态方法或所有静态方法。
好处:不用写类名。
import static java.lang.Math.*;
public class StaticImport {
public static void main(String[] args){
int x = 1;
try {
x++;
} finally {
System.out.println("template");
}
System.out.println(x);
System.out.println(max(3, 6));
System.out.println(abs(3 - 6));
}
}
当类重名时,需要指定具体的包名;当方法重名时,需要指定该方法所属的对象或类。
若设置的编译器版本低,但代码中用到了新版本的特性,MyEclipse会提示错误,此时只需修改为新版本的编译器即可
二、可变参数
解决:一个方法接受的参数个数不确定。
可变参数的特点:
1)只能出现在参数列表的最后。
2)...位于变量类型和变量名之间,前后有无空格都可以。
3)调用可变参数的方法时,编译器为该可变参数隐含创建了一个数组,在方法体中以数组的形式访问可变参数。
public class VarableParameter {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(add(2,3));
System.out.println(add(2,3,5));
}
public static int add(int x,int... args){
int sum = x;
/* for(int i=0;i<args.length;i++){
sum += args[i];
}*/
for(int arg : args){
sum += arg;
}
return sum;
}
}
三、增强for循环
格式:
for(type 变量名:集合变量名){... ...}
注意事项:
迭代变量必须在()中定义。
集合变量可以是数组或实现了Iterator接口的集合类。
举例:参照可变参数的示例。
四、基本数据类型的自动拆箱和装箱。
基本数据类型:byte short int long char float double boolean。
对应的包装类:ByteShort IntegerLong Character FloatDouble Boolean.
装箱:把基本数据类型转换成对应的包装类。//Integernum1 = 12;
拆箱:把包装类转成对应的基本数据类型。//System.out.println(num1+ 12);
public class AutoBox {
public static void main(String[] args) {
Integer iobj = 13;//基本数据类型的装箱
System.out.println(iobj+12);//基本数据类型的拆箱
//基本数据类型装箱拆箱的一个特性------(享元模式)
//当Integer封装的数据在一个字节之间(-128~127),则只建立一个对象,成为享元
Integer i1= 127;
Integer i2 =127;
System.out.println(i1 == i2);//ture
//当Integer封装的数据超出一个字节,则每个都新建一个对象。
Integer i3 = 128;
Integer i4 = 128;
System.out.println(i3 == i4);//false
Integer i5 =Integer.valueOf(3);
Integer i6 =Integer.valueOf(3);
System.out.println(i5 == i6);//true
}
}
---------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流! ----------------------