007 Java 初始化 静态属性,静态代码块,普通属性,普通方法,普通方法块,构造函数 的初始化顺序 可变参数方法 类的初始化

911 阅读2分钟

类的初始化

使用new关键字创建一个类,并调用类的构造方法,初始化该类。 构造方法可以对类的属性进行赋值。

成员变量

成员变量:方法外部,类内部。也成类属性

需要注意成员变量在没有被赋值时的默认值。 在这里插入图片描述 ==String也是一种对象,初始默认值为null==

静态属性,静态代码块,普通属性,普通方法,普通方法块,构造函数 的初始化顺序

  • 静态属性:static修饰的属性
  • 静态方法块:static{}包括的代码块
  • 普通属性:非static的属性(为了效果,调用方法输出测试)
  • 普通方法块:{}包括的代码块
  • 构造函数:类名相同的方法,用来初始化方法
  • 方法:普通方法,在调用时才有效果
public class LifeCycle {
    //静态属性
    private static String staticField = getStaticField();

    //静态代码块
    static {
        System.out.println("静态属性staticField:" + staticField);
        System.out.println("2:静态代码块");
    }

    //普通属性 调用谱方法初始化
    private String field =getField();

    //普通方法块
    {
        System.out.println("4:普通方法块初始化 field:" + field);
    }
    private String getField() {
        System.out.println("3:普通属性");
        return "field";
    }
    private static String getStaticField() {
        System.out.println("1:静态属性");
        return "staticField";
    }
    //构造函数
    public LifeCycle (){
        System.out.println("5:构造函数初始化");
    }
    public static void main(String[] args) {
        new LifeCycle();
    }
}

执行结果:

1:静态属性
静态属性staticField:staticField
2:静态代码块
3:普通属性
4:普通方法块初始化 field:field
5:构造函数初始化

数组的初始化

int [] a;
或 一般使用下面的
int a[];
直接赋值
int array[3] = {1,2,3};
部分赋值 第三个值为int的默认值0
int array[3] = {1,2};
赋值参数决定数组长度,下例数组长度为2
int array[] = {1,2};

可变参数方法

public int add (int...numbers){
	int sum = 0;
	for(int num : numbers){
		sum+=num;
	}
	return sum;
}

调用方法
add(); //不传参数
add(1); //一个参数
add(1,2); //两个参数
add(new Integer[]{1,2,3,4}); //传递数组