实例化对象的同时,就为这个对象的属性进行赋值——就是初始化
一、无参的初始化
class Person {
public Person() {// 定义构造方法
System.out.println("调用无参的构造方法");
}
}
public class Example09 {
public static void main(String[] args) {
Person p = new Person();
}
}
/*
* private关键字修饰的构造方法Person()只能在Person类中被访问。
* 也就是说Person()构造方法是私有的,不可以被外界调用,也就无法在类的外部创建该类的实例对象。
* 因此,为了方便实例化对象,构造方法通常会使用public来修饰
*/
Person p = new Person();其中“new Person()”语句两个作用:
- 实例化Person对象
- 调用构造方法Person()
由结果可以看出,他们运行了。
二、有参的初始化
class Person {
int age;
public Person(){} //无参构造
public Person(int x) { //有参构造
age = x;
}
public void speak() {
System.out.println("我今年"+age+"岁");
}
}
public class Example01 {
public static void main(String[] args) {
Person p = new Person(19); // 实例化 Person对象
p.speak();
}
}
/*
* 当类中定义了有参的构造方法时,还需要定义一个无参的构造方法,
* 如果不定义无参构造方法,会报出构造方法未定义的错误
*/
Person对象在调用speak时,其age属性就已经被赋值为19了