构造函数调用构造函数
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
构造函数调用构造函数
构造函数调用构造函数是在面向对象编程中常见的一种特殊方法。
在Java、C#、C++等语言中都有这个概念,本文将通过Java语言来介绍这个概念。
什么是构造函数
在Java中,构造函数是一种特殊的方法,它与类同名,没有返回值类型,用于创建对象时初始化对象的成员变量。
当我们创建一个对象时,会调用构造函数来赋初值。
构造函数有以下特点:
1.构造函数与类同名,没有返回值类型,不能有返回值语句。
2.一个类可以有多个构造函数,它们之间的区别在于参数列表的类型和数量不同。
3.如果一个类没有明确定义构造函数,则Java编译器会为该类生成一个默认构造函数。
下面是一个简单的示例:
public class Person {
private String name;
private int age;
在上面的示例中,Person类有两个构造函数。
第一个构造函数没有参数,用于创建一个默认的Person对象。
第二个构造函数有两个参数,用于创建指定名称和年龄的Person 对象。
构造函数调用构造函数是指一个构造函数中调用了另外一个构造函数。
使用这种方法可以避免重复代码,并且可以实现多种实现方式的构造函数。
在Java语言中,使用this()关键字可以调用当前类中的构造函数。
具体来说,this()和this关键字的使用如下所示:
- this():调用当前类中的另一个构造函数。
注意:this()语句必须是当前构造函数的第一条语句。
- this:可以在一个构造函数中使用this来引用当前对象,也可以用来传递对象。
public Person() {
this("unknown",0,"unknown");
}
public Person(String name, int age, String address) {
= name;
this.age = age;
this.address = address;
}
}
在上面的示例中,Person类有三个构造函数。
第一个构造函数没有参数,用于创建一个默认的Person对象。
它调用了有三个参数的构造函数,但name和age的默认值是"unknown"和0。
第二个构造函数有两个参数,用于创建指定名称和年龄的Person对象。
它也调用了有三个参数的构造函数,但address的默认值是"unknown"。
第三个构造函数有三个参数,用于创建指定名称、年龄和地址的Person对象。
它将三个参数分别赋值给成员变量。
注意:在使用构造函数调用构造函数时,应该只调用更具体的构造函数,避免调用自己。
总结。