10.构造器
构造函数
特点:
函数名与类名相同
不用定义返回值类型
不可以写return语句
对象一建立就会调用与之对应的构造函数
作用:
给对象进行初始化
小细节:
当一个类中没有定义构造函数时,系统会默认给该类加入一个空参数的构造函数 Person(){}
在类中自定义了构造函数,默认的构造函数就没了
构造函数和一般函数的不同:
1.在写法上有不同
2.在运行上也有不同。构造函数在对象一建立就运行,给对象初始化。
一般函数是对象调用才执行,给对象添加对象具备的功能。
3.一个对象建立,构造函数只执行一次,而一般方法可以被该对象调用多次。
什么时候定义构造函数?
当分析事物时,该事物存在具备一些特性或者行为,那么将这些内容定义在构造函数中。
注意:
默认构造函数的特点
public class GouZao_05 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Student s=new Student();
Student s1=new Student("lisi");
Student s2=new Student("zhangsan",10);
}
}
class Student{
private String name;
private int age;
Student(){
System.out.println("A:name="+name+",age="+age);
}
Student(String n){
name=n;
System.out.println("B:name="+name+",age="+age);
}
Student(String n,int a){
name=n;
age=a;
System.out.println("C:name="+name+",age="+age);
}
//构造代码块
//作用:给对象进行初始化,对象一建立就运行,而且优先于构造函数执行
//和构造函数的区别:
//构造代码块是给所有对象进行统一初始化,而构造函数是给对应的对象初始化
{
System.out.println("hello~~~~~~");
}
public void cry(){
System.out.println("cry");
}
}
多个构造函数