构造器与类名名称相同,不接受任何参数的构造器叫做默认构造器。
构造器可以重载,通过形参列表或者返回值区分。
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"); } }
在构造器中调用构造器
一个构造器只能调用一个构造器,并且要在最起始处,除了构造器外,不允许其他任何方法调用构造器。
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方法,
原文:http://blog.csdn.net/chaoshenyutou/article/details/44571837