在一个类中定义的方法如果同时满足以下三个条件,该方法称为构造方法,具体如下:
方法名与类名相同。
在方法名的前面没有返回值类型的声明。
在方法中不能使用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。