静态导入
java.lang Math 类很多static方法. 如下代码:
import java.lang.Math; //一般导入
....
System.out.println(Math.max(3,5));
System.out.println(Math.abs(3 - 6));
....
如在导入 Math类使用静态导入,就可以直接调用Math类的静态方法, 上面代码可这样写:
import static java.lang.Math.*;//静态导入
....
System.out.println(Math.max(3,5));
System.out.println(Math.abs(3 - 6));
....
可变参数:
Overload(方法重载): 方法名相同,参数类型不同, 顺序不同,个数不同的方法。我们称之为方法重载.
但对于参数个数不固定的情况, 可使用Java5的新特性, 可变参数可变参数的学习.
其待点是:
1. 只能出现在参数列表的最后
2. ....位于变量类型和变量名之音, 前后有无空格都可以
3. 调用变参的方法时, 编译器为该可变参数隐含创建一个数组, 在方法中以数组的形式访问可变参数
例如:
public int add(int x, int... args){
int sum = 0;
for(int i = 0; i < args.length; i++){
sum += i;
}
return sum;
}
for 增强形式
有集合 List<String> list, 进行迭代l
1.原始的for循环这样写:
for(int i = 0; i < list.size(); i ++){...}
2.使用for增强
for(String s: list) {....}
自动装箱(auto boxing),拆箱(unboxing):
1.什么是自动装箱(auto boxing),拆箱(unboxing):
一般我们创建一人类的对象的时候, 是这样:
Class a = new Class(parameter);
当我们创建一个Integer对象时, 却可以这样:
Integer i = 100; // 注意不是 int i = 100;
实际上, 执行上面那句代码的时候, 系统为我们执行了
Integer i = new Integer(100);
这就是基本数据类型的autoboxing功能, 反之即unboxing.
基本数据类型与对象类型的差别
基本数据类型不是对象, 也就是使用int , byte, char , short , int , long , double, float,String 定义的变量或常量。
基本数据类型没有可调用的方法
Eg: int i = 1; // i. 后面是没有方法滴
Integer i = 1; // i. 后面就有很多方法可以让你调用