04.面向对象——构造方法

实例化对象的同时,就为这个对象的属性进行赋值——就是初始化

一、无参的初始化

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()”语句两个作用:

  1. 实例化Person对象
  2. 调用构造方法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了

猜你喜欢

转载自blog.csdn.net/qq_39883358/article/details/83537784