1、java使用一种称之为构造函数(constructor)的特殊函数来创建对象,并在创建它们时对它们进行不同的初始化,从而生成不同的对象。
2、构造函数是在创建对象的瞬间调用执行的特殊函数。
3、它的名字与类名一致,没有任何返回值,也不允许在其前面有关键字void。
4、调用结构函数必须按该函数既定的格式进行
5、如果程序没有创建自己的结构函数,系统会自动创建缺省的结构函数
public class Class28{
int a;
public Class28(){ //构造函数Class28
a=10;
}
public void Class28(){ //方法Class28
a=20;
}
public static void main(String[] args){
Class28 ob =new Class28();
System.out.println("构造函数起作用a="+ob.a);
ob.Class28();
System.out.println("方法起作用a="+ob.a);
}
}
this()+构造函数重载
public class Class30{
public Class30(){
System.out.println("你好啊!");
}
public Class30(String name){
this();
System.out.println(name);
}
public Class30(int a){
this("小明");
System.out.println("今年有"+a+"岁了吗?");
}
public static void main (String[] args){
Class30 ob = new Class30(10);
}
}
构造函数必须首先被执行,所以this(…)调用必须是花括号里的第一条语句,
普通方法只能在对象创建后才能被使用,所以不能在普通方法中使用this(…)。