静态导入
1. import语句可以导入一个类或某个包中的所有类。
2. import static语句导入一个类中的某个静态方法或所有静态方法。
3. 静态导入的作用:方便使用静态方法,并提高程序的封装性(不解?)过度使用会使程序可读性和可维护性下降。所以适当的使用可使你不必不停的复制类名。
可变参数
1. 特点:只能出现在参数列表最后。…位于变量类型和变量之间,前后有无空格都可以(我没试过)。调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中以数组的形式访问可变参数。
2. 注意:但一般用不到可变参数,开发者一般只用API中提供的有可变参数的方法,对于API编写人员也要少用。最好不要重载有可变参数的方法。因为对程序员来说难以判断调用的哪个重载的方法(不知道对不对)。
增强的for循环
1. 语法:for(type 变量名:集合变量名){…}
2. 注意:迭代变量必须在()中定义。集合变量可以是数组或实现了Iterable接口的集合类
3. 举例:
a) public static int add(int x, int…args) {
int sum = x;
for(int arg : args) {
sum += arg;
}
return sum;
}
4. 作用:更方便的遍历数组或集合中的元素。
5. 注意:不能方便的访问数组的指定元素,与Iterator相比,不能方便的删除集合中的内容
6. 建议:除了简单遍历并读出其中的内容外,不建议使用增强的for循环。
基本数据类型的自动拆箱与装箱
1. 特点:在合适的时机自动打包,解包。
自动将基础类型转换为对象
自动将对象转换为基础类型
2. 举例:
自动装箱:Integer num1 = 21;
自动拆箱:System.out.println(num1 + 21);
3. 作用:方便程序的编写是程序更清晰,不需太多的类型转换。
4. 注意:不能用于科学计算。主要用于“impedance mismatch”的情形。
枚举
1. 基本:枚举类的有values、valueOf、name、toString、ordinal等方法。
2. 枚举是一种特殊的类,其中每个元素都是该类的一个实例对象。
3. 举例:
public enum Planet {
MERCURY (3.303e+23, 2.4397e6),
VENUS (4.869e+24, 6.0518e6),
EARTH (5.976e+24, 6.37814e6),
MARS (6.421e+23, 3.3972e6),
JUPITER (1.9e+27, 7.1492e7),
SATURN (5.688e+26, 6.0268e7),
URANUS (8.686e+25, 2.5559e7),
NEPTUNE (1.024e+26, 2.4746e7),
PLUTO (1.27e+22, 1.137e6);
private final double mass; // in kilograms
private final double radius; // in meters
Planet(double mass, double radius) {
this.mass = mass;
this.radius = radius;
}
public double mass() { return mass; }
public double radius() { return radius; }
// universal gravitational constant (m3 kg-1 s-2)
public static final double G = 6.67300E-11;
public double surfaceGravity() {
return G * mass / (radius * radius);
}
public double surfaceWeight(double otherMass) {
return otherMass * surfaceGravity();