1、前面一节讨论了Java类的方法,了解了Java方法的声明、调用和传入参数的用法。本节主要讨论Java类的构造方法。一个新对象初始化的最终步骤是通过new关键字去调用对象的构造方法,构造方法需满足如下要求:(1)方法名必须与类名称完全相匹配;(2)构造方法不需要返回类型;(3)构造方法不能被static、final等关键字修饰,且不能有return返回语句。11.5节讲到了如何创建Java对象,下面的例子创建一个apple对象:Fruits apple = new Fruits("80%”, “60%”, ”30%”);使用new关键字创建创建Java对象时,系统首先为要创建的对象分配内存空间,然后调用类的构造方法初始化类成员属性或类成员变量,最后返回对象实例的引用给apple。构造方法也分为有参和无参,Fruits类的构造方法属于有参构造方法,调用有参构造方法时,需要传入相对应的参数。无参构造方法则无需传入参数。下面分别讨论无参和有参构造方法。1、无参构造方法无参构造方法又分为隐式无参构造方法和显示无参构造方法。隐式无参构造方法在定义类的时候,如果没有给类定义一个构造方法,Java编译器在编译时会默认提供一个隐式的构造方法,它没有任何参数,并且有一个空的方法体。例如,Person类中隐含一个无参构造方法,在main方法中可以通过new关键字来调用此默认的构造方法,代码如下:
2、显式无参构造方法隐式无参构造方法是由系统提供的,无法修改其内容。但有时需要在调用这个构造方法时初始化类成员属性或执行一些操作,要实现这个需求,就需要为它定义一个显式无参构造方法,修改上述代码如下:
3、显示有参构造方法构造并初始化对象是构造方法的作用,所以有时需要给这个方法传入一些参数,定义一个显示的有参构造方法。例如:
4、下面为Person类增加有两个参数的显式构造方法,修改后的代码如下: