构造器与类名名称相同,不接受任何参数的构造器叫做默认构造器。
构造器可以重载,通过形参列表或者返回值区分。
class Kabayo2 {
Kabayo2() {
System.out.println("isa lang kabayo");
}
//构造器重载
Kabayo2(String s) {
System.out.println(s);
}
}
public class DefaultConstructorTest2 {
public static void main(String[] args) {
Kabayo2 k = new Kabayo2();
Kabayo2 k2 = new Kabayo2("tumutugtog ng gitara");
}
}
this关键字只能在方法内部使用,表示“调用方法的那个对象的"引用。如果在方法内部调用同类的另一个方法,不需要使用this,直接调用即可。
在构造器中调用构造器
一个构造器只能调用一个构造器,并且要在最起始处,除了构造器外,不允许其他任何方法调用构造器。
class Doc {
Doc(int i) {
this("MD");
int yearsTraining = i;
System.out.println("New doc with " + i + " years of training");
}
Doc(String s) {
String degree = s;
System.out.println("New doc with " + s + " degree");
}
void intubate() {
System.out.println("prepare patient");
laryngoscopy();
}
void laryngoscopy() {
System.out.println("use laryngoscope");
}
}
public class OverloadedConstructors {
public static void main(String[] args) {
new Doc(8).intubate();
}
}
static方法内部没有this,static方法内部不能调用非static方法,