属性赋值过程

截止到目前,我们讲到了很多位置都可以对类的属性赋值。现总结这几个位置,并指明赋值的先后顺序。

有4个可以设置属性的过程,他们之间的顺序是从上至下的:

  • 默认初始化
  • 显示初始化
  • 构造器初始化
  • 通过“对象.属性"或”对象.方法"的方式赋值

默认初始化

当一个对象被创建时,会对其中各种类型的成员变量自动进行初始化赋值。

class People 
{
    private String name;
    private int age;

    public People ()
    {

    }

    public String getName ()
    {
        return this.name;
    }

    public int getAge ()
    {
        return this.age;
    }
}
var p = new People();
System.out.println(p.getName() +" "+p.getAge());  // null 0

显示初始化

class People 
{
    private String name = "king";
    private int age = 36;
    private int id = nextId();

    private int nextId ()
    {
        return (int) (Math.random() * 10000) + 1;
    }

    ……
}

在java中,初始值不一定是常量值,还可以调用一个方法获取返回值。

构造器初始化

class Person
{
    public String name;

    public Person (String name)
    {
        this.name = name;
    }
}