在一个类中定义的方法如果同时满足以下三个条件,该方法称为构造方法,具体如下:方法名与类名相同。
在方法名的前面没有返回值类型的声明。
在方法中不能使用return语句返回一个值。
接下来通过一个案例来演示如何在类中定义构造方法。class Person {
public Person() {
System.out.println("无参构造方法 ...");
}
}
public class Example {
public static void main(String[] args) {
Person person = new Person();
}
}
运行结果:无参构造方法 ...
Person类中定义了一个无参的构造方法Person()。从运行结果可以看出,Person类中无参的构造方法被调用了。这是因为在实例化Person对象时会自动调用类的构造方法,“new Person()”语句的作用除了会实例化Person对象,还会调用构造方法Person()。
在一个类中除了定义无参的构造方法,还可以定义有参的构造方法,通过有参的构造方法就可以实现对属性的赋值。class Person {
int age;
public Person(int a) {
age = a;
}
public void speak() {
System.out.println("codingwhy的岁数是:" + age);
}
}
public class Example {
public static void main(String[] args) {
Person person = new Person(20);
person.speak();
}
}
运行结果:codingwhy的岁数是:20
Person类中定义了有参的构造方法Person(inta)。代码中的“new Person(20)”会在实例化对象的同时调用有参的构造方法,并传入了参数20。在构造方法Person(int a)中将20赋值给对象的age属性。通过运行结果可以看出,Person对象在调用speak()方法时,其age属性已经被赋值为20。