用构造器确保初始化
在java中,通过提供构造器,类的设计者可以确保每个对象都得到初始化。
创建对象时,如果其类具有构造器,java就会在用户有能力操作对象之前自动调用相应的构造器,从而保证了初始化的进行。
构造器采用与类相同的名称
//DemonStration of a simple Constructor
class Axin{
Axin(){//This is the constructor
System.out.println("hiahia ");
}
}
public class SimpleConstructor{
public static void main(String[] args){
for(int i=0;i<2;i++){
new Axin();
}
}
}/* Output:
hiahia hiahia
*///:~
在创建对象时:new Axin();
将会为对象分配存储空间,并调用相应的构造器。这就确保你在调用对象之前,它已经恰当地进行初始化了。
没有任何参数的构造器叫做默认构造器(即无参构造器),那么有参数的就叫做有参构造器,下面是一个例子。
//DemonStration of a simple Constructor
class Axin2{
Axin(int x){//This is the constructor
System.out.println("hiahia " + x + " ");
}
}
public class SimpleConstructor2{
public static void main(String[] args){
for(int i=0;i<2;i++){
new Axin(i);
}
}
}/* Output:
hiahia 0 hiahia 1
*///:~
有了构造器形式参数,就可以在初始化对象时提供实际参数。
例如,假设类Tree有一个构造器,它接受一个整型变量来表示树的高度,就可以这样来创建一颗Tree对象:
Tree t = new Tree(12);//12-foot Tree
如果Tree(int)是Tree类中唯一的构造器,那么编译器将不会允许你以其他任何方式创建Tree对象。
构造器是一种特殊类型的方法,因为它没有返回值,但是它与void方法是不同的。
构造器时在堆中开辟内存空间,创建对象的过程。如果某方法使用构造器创建对象,返回的是对象地址。用参数接受此对象地址,这个是约定俗成的规则不能写返回值。
如 Student s = new Student();
普通方法不管返回void或者string,对象,都是可以选择的。而构造器绝对不能。
be better!