构造函数
构造函数是以类命名而没有返回类型的特殊方法,用于构造对象。构造函数与方法一样,可以使用输入参数。构造函数用于初始化对象。抽象类也可以有构造函数。
public class Hello{
// constructor
public Hello(String wordToPrint){
printHello(wordToPrint);
}
public void printHello(String word){
System.out.println(word);
}
}
// instantiates the object during creating and prints out the content
// of wordToPrint
重要的是要理解构造函数在几个方面与方法不同:
-
构造函数只能使用修饰符
public
,private
和protected
,并且不能声明为abstract
,final
,static
或synchronized
。 -
构造函数没有返回类型。
-
构造函数必须与类名相同。在
Hello
示例中,Hello
对象的构造函数名称与类名称相同。 -
this
关键字在构造函数中有一个额外的用法。this.method(...)
调用当前实例上的方法,而this(...)
引用当前类中具有不同签名的另一个构造函数。
也可以使用关键字 super
通过继承调用构造函数。
public class SuperManClass{
public SuperManClass(){
// some implementation
}
// ... methods
}
public class BatmanClass extends SupermanClass{
public BatmanClass(){
super();
}
//... methods...
}
请参阅 Java 语言规范#8.8 和 #15.9