3.4 Java类的构造函数
程序员文章站
2022-05-22 20:35:46
...
构造函数
- 特征
- 函数名与类名相同
- 不用定义返回值类型
- 没有具体的返回值
- 作用
- 对对象进行初始化(在创建对象时调用的函数)
没有定义过构造函数,类中会有一个默认的空参构造函数
如果在类中定义了指定的构造函数,类中则没有默认构造函数。
- 构造函数与一般函数有什么区别呢?
- 构造函数在对象创建时就会调用与之对应的构造函数,一般函数在对象创建后需要该函数功能时才调用
- 什么时候定义构造函数?
- 在描述事物时,该事物已存在的一些内容。
构造函数的重载
- 形式
- 名称相同而参数表不同
构造函数内存图解
例代码
package Person;
public class Person {
private int age;
private String name;
//定义一个构造函数
Person(){
name = "baby";
age = 1;
//创建对象时初始化其值
System.out.println("Person run");
}
// 构造函数的重载
Person(String n){
name = n;
System.out.println("Person(n) run");
}
Person(String n,int a){
name = n;
age = a;
System.out.println("Person(n,a) run");
}
public void speak(){
System.out.println(name+":"+age);
}
}
class ConsDemo{
public static void main(String[] args){
Person p = new Person();
//构造函数自动执行
p.speak();
// Person run
// baby:1
Person p1 = new Person("WangWang");
p1.speak();
// Person(n) run
// WangWang:0
Person p2 = new Person("xiaoqiang",2);
p2.speak();
// Person(n,a) run
// xiaoqiang:2
}
}
上一篇: kafka-stream流式处理示例
推荐阅读