Java学习笔记2-构造方法

没有在构造方法中初始化字段时,引用类型的字段默认是null,数值类型的字段用默认值,int类型默认值是0,布尔类型默认值是false比如:

class Person {
    private String name; // 默认初始化为null
    private int age; // 默认初始化为0

    public Person() {
    }
}

也可以对字段直接进行初始化,比如:

class Person {
    private String name = "Xiao Ming";
    private int age = 10;
}

那,,,我初始化了,又在构造方法里初始化,会怎么处理呢?

class Person {
    private String name = "Xiao Ming";
    private int age = 10;

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

在Java中,创建对象实例的时候,按照如下顺序进行初始化:

  1. 先初始化字段
  2. 执行构造方法的代码进行初始化。

所以最终person字段由构造方法决定

  • 如果不知道构造方法需要传入几个参数应该怎么办呢
class Person {
    private String name;
    private int age;
    
    public Person() {
    }
    public Person(String name) {
        this.name = name;
        this.age = 10;
    }
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }    
}

编译器通过构造方法的参数数量、位置和类型自动区分

猜你喜欢

转载自blog.csdn.net/u013589260/article/details/106046565