1. 程式人生 > >Java 類的重載/匿名類的使用/可變形參

Java 類的重載/匿名類的使用/可變形參

() 重載 rod test lan port 制造 ... nbsp

 1 /**
 2  *1.類的方法的重載
 3  *2.匿名類對象的傳遞和引用
 4  *3.可變個數的形參(格式:1/對於方法的形參: 數據類型...形參名
 5  *                      2/可變個數的形參與同名的方法之間構成重載
 6  *                      3/可變個數的形參在調用時,個數從0到很多很多
 7  *                      4/可變個數的優勢,傳入單個或數組 時都可以調用
 8  *                      5/一致於數組,數組怎麽傳遞,可變形參就怎麽用)
 9  */
10 import
java.lang.*; 11 class Car{ 12 String name; 13 int wheel; 14 public Car(String name,int w){ //構造類 15 this.name = name; 16 this.wheel=w; 17 } 18 public Car( ){ //重載構造類 19 this.name = "####"; 20 this.wheel= 0; 21 } 22 public void describeCar(){
23 System.out.println("{name:"+this.name+" wheelnum:"+this.wheel+"}"); 24 } 25 } 26 class Factory{ 27 //制造車 28 public Factory(){ 29 } 30 public Car produceCar(String name,int wnum){ 31 Car c=new Car(); 32 c.name=name; 33 c.wheel=wnum; 34 return
c; 35 } 36 public void Tested(Car c){ 37 if(c.name=="####") 38 System.out.println(c.name+"Test: 發現故障!未初始化!"); 39 else 40 System.out.println(c.name+" is Ok!"); 41 } 42 } 43 44 class SayMore{ 45 public SayMore(){ 46 } 47 public void say(int ...args){ 48 for(int i=0;i<args.length;i++) 49 System.out.print(args[i]+"\t"); 50 System.out.println(); 51 } 52 } 53 public class Test1 { 54 public static void main(String args[]){ 55 Factory f=new Factory(); 56 Car c1 = f.produceCar("蔥油醬餅",4); 57 c1.describeCar(); 58 System.out.println("使用匿名類: "); 59 new Car().describeCar(); 60 61 f.Tested(new Car()); //檢測匿名(空構造的數據)類 62 f.Tested(c1); //檢測實例化有數據的類 63 System.out.println(" // ///////////////////////////////////////////"); 64 65 SayMore s=new SayMore(); 66 s.say(666); //可變個數的形參,傳遞單個/多個 67 s.say(1,2,3); 68 69 int arr[]={1,2,3,4555}; 70 s.say(arr); 71 } 72 }

運行結果:

{name:蔥油醬餅 wheelnum:4}
使用匿名類:  
{name:#### wheelnum:0}
####Test: 發現故障!未初始化!
蔥油醬餅 is Ok!
 // ///////////////////////////////////////////
666    
1    2    3    
1    2    3    4555    

Java 類的重載/匿名類的使用/可變形參