一个类中可以定义不止一个构造器,在使用new创建对象时,Java会根据构造器提供的参数来决定构建哪一个构造器,另外在Java中,Java会同时根据方法名和参数列表来决定所要调用的方法,这叫做方法重载(method overloading)。构建方法可以进行重载,普通方法也可以重载,如下示例:
1 public class Test{ 2 public static void main(String[] args){ 3 System.out.print("Hello World"); 4 MyTest myTest = new MyTest(167,"Frost"); 5 System.out.println(myTest.getHeight()); 6 myTest.address("Frost"); 7 } 8 } 9 class MyTest{ 10 /** 11 * constructor 1 12 */ 13 MyTest(int height){ 14 this.height = height; 15 System.out.println("my height"+this.height); 16 } 17 /** 18 * constructor 2 19 */ 20 MyTest(int height,String name){ 21 this.height = height; 22 System.out.println("my height:"+this.height+"my name:"+name); 23 } 24 void address(){ 25 System.out.println("中国四川.."); 26 } 27 void address(String name){ 28 if(name == "Frost"){ 29 System.out.println(name+"'address is "+"中国四川.."); 30 } 31 } 32 int getHeight(){ 33 return this.height; 34 } 35 int height; 36 }