一、构造方法的作用与定义
1、 构造方法是一种特殊的方法,它是在对象被创建时初始化对象的成员的方法。构造方法的名称必须与它所在的类名完全相同。构造方法没有返回值,但在定义构造方法时.构造方法名前不能用修饰符“void”来修饰,这是因为一个类的构造方法的返回值类型就是该类本身。构造方法定义后,创建对象时就会自动调用它,因此构造方法不需要在程序中直接调用.而是在对象产生时自动执行。这一点不同于一般的方法,一般的方法是在需要用到时才调用。
注:在定义构造方法时若加入了“void”修饰符,这个方法就不再是构造方法了。而变成了普通方法,也不再会被自动调用了
//有两个参数的构造方法
public poker(String num, String col) {
number = num;
color = col;
}
//普通方法
public poker void(String num, String col) {
number = num;
color = col;
}
2、构造方法是一种特殊的、与类名相同的方法,专门用于在创建对象时,完成初始化工作。
构造方法的特殊性主要体现在如下几个方面:
(1)构造方法的方法名与类名相同
(2) 构造方法没有返回值,也不能写void
(3)构造方法的主要作用是完成对类对象的初始化工作
(4)构造方法用new来调用
(5)在创建一个类的对象的同时,系统会自动调用该类的构造方法为新对象初始化
注:声明成员变量时也可以为他赋初值,但构造方法可以带上参数,还可以完成赋值之外的一些复杂操作
二、默认的构造方法
Cylinder(){}
如果class前面有public修饰符,则默认的构造方法前面也会是public的
三、构造方法的重载
只要方法与方法之间的参数个数不同,或是参数的类型不同,便可定义多个名称相同的方法,这就是方法的重载
构造方法的重载,可以让用户用不同的参数来创建对象
四、从一个构造方法调用另一个构造方法
通过使用this()语句来的调用
可缩短程序代码,减少开发程序时间
五、共有构造方法和私有构造方法
构造方法一般都是共有的(public)的,这是因为他们在创建对象时,是在类的外部被调用被系统自动调用的。如果构造方法被被声明为private,则无法在该构造方法所在的类以外的地方被调用。但在该类的内部还是可以被调用的
六、给对象赋值的方法
1、对于public修饰的属性,使用对象直接调用 p.number='A'
2、对于private修饰的属性,只能间接使用 setter/getter方法
建议将setter/getter方法定义在类的最后面,避免干扰阅读
例:
//定义一个对象 poker p=new poker();
(1)//直接调用 p.number="2";
(2)//通过set get方法 p.setNumber("2"); System.out.println(p.getNumber());
(3)构造函数内初始化
七、完整代码