构造函数的细节
1、一个类中可以有多个构造函数,并且他们之间的关系是以重载的形式体现;
2、构造函数中也是有return语句,用于结束初始化动作;
3、构造函数能被private修饰,一旦被private修饰便无法创建该类的对象。
class Person
{
private Person()
{
}
}
main()
{
Person p = new Person();
}
构造函数和一般函数的区别:
1、写法不同,
2、运行上有差别,对象一旦出啊关键就会调用对应的构造函数,一般方法是对象创建后,才会调用所需的一般函数。
3、使用构造函数之后还需要set方法,对象创建后,如果需要对数据进行修改,需要通过set方法实现;
4、构造函数在对象创建时,仅调用一次(初始化动作只做一次,而且先执行),一般方法可以被对象调用多次。
class Person {
void Person(){
}
}
main()
{
Person p = new Person();
}
构造函数之间的调用
/*
* 当构造函数之间进行互相调用时,该如何解决
*
* 构造函数是对象初始化时调用的
* 通过this关键字来记住对象的地址,并通过this赖敏古切尔被初始化的对象
* 在构造函数中调用其他构造函数的格式 : this(实参列表);就会调用对应的构造函数
*
* this代表什么?
* this代表对象,代表当前对象,哪个对象调用了this所在函数,this就代表那个对象
*
* */
package GouZao;
public class Test {
public static void main(String[] args) {
Person p = new Person("里斯",32);
}
}
class Person{
private String name;
private int age;
Person()
{
}
private Person(String n)
{
name = n;
}
Person(String n,int a){
this(n);
age = a;
}
}
注意:一般函数不能直接调用构造函数,需要在创建对象;
构造函数可以直接调用一般函数;
构造函数调用其他构造函数的语句,必须定义在构造函数的第一行,原因在于初始化动作要先执行。