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]+" "); 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