从前面的所学的知识,我们可以发现:实列化一个对象以后,如果要为这个对象的属性赋值,那么必须直接访问对象的属性或者调用setXxx()方法,如果需要在实列化对象的同时就为这个对象的属性进行赋值,可以通过构造方法来实现!!
构造方法(也被称为构造器)是类的一个特殊成员,他会在类实列化对象时被调用!!
构造方法的定义:
【修饰符】 方法名 {【参数列表】} {
//方法体
}
上述语法格式所定义的构造方法需要同时满足一下三个条件!
下面笔者将通过一个案列来带领大家走进如何在类中定义构造方法!
- class Person {
- //类的构造方法!
-
- public Person() {
- System.out.println("调用了无参的构造方法!");
- }
- }
-
- public class Main {
- public static void main(String[] args) {
- Person p =new Person(); //实列化 Person 对象
-
- }
- }
上述代码的运行结果为:
在上述代码中:Person 类中定义了一个无参的构造方法 Person()。从上面的运行结构中可以看出:Person 类众多无参的构造方法被调用了,这是因为,在进行: Person p =new Person(); 的时候,实列化Person时,会自动调用该类的构造方法!!
在一个类中除了可以定义无参的构造方法之外,还可以定义有参的构造方法,通过有参的构造方法就可以实现对属性的赋值!!
请看下列代码案列:
-
- class Person {
- int age ;
-
- //定义有参的构造方法
- public Person(int a) {
- age = a; //为age进行赋值!
- }
-
- //定义speak方法
- public void speak() {
- System.out.println("我今年 "+age+" 岁了!");
- }
- }
-
- public class Main {
- public static void main(String[] args) {
- Person p =new Person(21); //实列化 Person 对象
- p.speak();
-
- }
- }
上述代码的运行结果为:
在上述代码中:Person类中定义了一个有参的构造方法Person(int a) ,在Person p =new Person(21); 会调用有参数的构造方法来实列化一个Person对象,并传入参数21,对age这个属性进行赋值,从上面的运行结果中,我们也可以看出:Person对象在调用speak()方法时,其age属性已经被赋值为21