一.构造器
1.可以用this调用一个构造器,但却不能调用两个,而且必须将构造器置于最起始出,否则编译会报错
2.static方法的内部不能调用非static方法和变量
3.要是类的数据成员是基本类型,会进行默认初始化,若是局部变量,则就认为是程序员的疏忽,所以不会进行默认初始化
4.在类的内部,变量定义的先后顺序决定了初始化的顺序,即使变量定义散布于方法定义之间,它们仍会在任何方法(包括构造器)被调用之前得到初始化
5.
初始化的顺序是先静态对象(如果他们尚未因前面的对象创建过程而被初始化),而后是非静态对象,静态对象只初始化一次
二.数组、枚举类型
1.int[] a1, int a1[]
2.Arrays.toString:将数组以字符串的形式输出(一维数组的打印版本s)
static void printArray(Object[] args){
for(Object obj : args){
System.out.print(obj + " ");
}
System.out.println();
}
3.打印数组的代码,可变参数列表s
4.枚举类型
enum spiciness{
Not(0), Mild(1), Medium(2), Hot(3), Flaming(4);
int num;
spiciness(int num){
this.num = num;
}
public static void main(String[] args) {
for(spiciness s : spiciness.values()){
System.out.println(s + ".ordinal" + s.ordinal());
}
}
}
ordinal表示顺序
spiciness degree;
public void describe(){
switch(degree){
case Not: System.out.println("not spicy at all");
break;
case Mild:
case Medium:System.out.println("a little hot");
break;
case Hot:
case Flaming:
default: System.out.println("maybe too hot");
}
}