构造函数
1)函数名与类名相同
2)不用定义返回值类型
3)不可以写return语句
//对象一建立、就会调用与之对应的构造函数
//当一个类中没有定义构造函数时,系统会默认给该类加入一个空参数的构造函数
//而若在类中自定义了构造函数、默认的构造函数就被覆盖了。
什么时候自定义构造函数?——当该事物一建立,就具备一些特性或行为,则将这些内容定义在构造函数中。
- 为什么构造函数里不需要加main函数
class Person{
String name;
Person(String name){ //这里的Person(String name)为一个构造函数
this.name=name;
}
Person(){ //这里的Person()为另一个构造函数
System.out.println(name);
}
void speak(){
System.out.println(this.name);
}
}
class PersonDemo{
public static void main(String [] args){
Person p=new Person("zhangsan");
Person p1=new Person();//一个类可以产生N多个对象,而这些对象可以对应不同的初始化方式——>构造函数的重载
p.speak();
}
}
/*上述代码执行结果:
null
zhangsan
那么为什么class Person里不需要加main函数,而class PersonDemo里却需要呢?
因为class Person 只是被调用的类,在main运行的过程中被调用(main函数是程序执行的入口)
一个程序可由N多类组成,但只需一个main函数就够
*/