构造方法
构造方法也称之为构造函数,构造器,是面向对象编程中的一个重要概念。
我们经常会使用构造方法来完成对象初始化的相关设置。构造方法在调用的时候必须配合new关键字,是不能被单独调用的。
注意:构造方法与类同名且没有返回值。构造方法只能在对象实例化的时候被调用
构造器本身是一个比较特殊的方法,方法名就是类名,没有返回值(和void是有区别的),构造器是类创建对象的唯一途径。
构造器的最大用处就是创建对象
无参构造方法
前面我们在定义对象时,发现并没有创建构造方法,但是我们依然可以使用构造方法去创建对象。
Cat one = new Cat();
这是因为,当没有指定构造方法时,系统(jvm)会自动添加无参构造方法。也就是说在一个类中至少会存在一个构造方法。便于我们的程序能够正常的执行,对象能够正常的进行实例化操作。
一个类中可以有多个构造方法,当有指定构造方法、无论是有参、无参的构造方法,都不会自动添加无参的构造方法。
有参构造方法
通过构造器为成员变量定义初始化值,这也是构造器的最最最重要的用途之一
比如:
public Cat(String name, int month, double weight, String species) {
name = name;
month = month;
weight = weight;
species = species;
}
但是若按照上述方法来写的话,实际上是有问题的,此处的代码逻辑发生了错误,遵循了一种就近原则 ——赋值过程中先优先的去找同一个作用范围内的成员进行赋值操作。只有找不到的情况下才会扩大作用范围,去类里面找。通俗来讲,上面的只是将参数的值重新覆盖了一遍,并没有按照我们想要的那样去赋值。
针对于这样的问题,我们可以有两种解决方案。
第一种,修改参数名,如:
public Cat(String name1, int month1, double weight1, Stri