/**
*1.类的方法的重载
*2.匿名类对象的传递和引用
*3.可变个数的形参(格式:1/对于方法的形参: 数据类型...形参名
* 2/可变个数的形参与同名的方法之间构成重载
* 3/可变个数的形参在调用时,个数从0到很多很多
* 4/可变个数的优势,传入单个或数组 时都可以调用
* 5/一致于数组,数组怎么传递,可变形参就怎么用)
*/
import java.lang.*;
class Car{
String name;
int wheel;
public Car(String name,int w){ //构造类
this.name = name;
this.wheel=w;
}
public Car( ){ //重载构造类
this.name = "####";
this.wheel= 0;
}
public void describeCar(){
System.out.println("{name:"+this.name+" wheelnum:"+this.wheel+"}");
}
}
class Factory{
//制造车
public Factory(){
}
public Car produceCar(String name,int wnum){
Car c=new Car();
c.name=name;
c.wheel=wnum;
return c;
}
public void Tested(Car c){
if(c.name=="####")
System.out.println(c.name+"Test: 发现故障!未初始化!");
else
System.out.println(c.name+" is Ok!");
}
} class SayMore{
public SayMore(){
}
public void say(int ...args){
for(int i=0;i<args.length;i++)
System.out.print(args[i]+"\t");
System.out.println();
}
}
public class Test1 {
public static void main(String args[]){
Factory f=new Factory();
Car c1 = f.produceCar("葱油酱饼",4);
c1.describeCar();
System.out.println("使用匿名类: ");
new Car().describeCar(); f.Tested(new Car()); //检测匿名(空构造的数据)类
f.Tested(c1); //检测实例化有数据的类
System.out.println(" // ///////////////////////////////////////////"); SayMore s=new SayMore();
s.say(666); //可变个数的形参,传递单个/多个
s.say(1,2,3); int arr[]={1,2,3,4555};
s.say(arr);
}
}
运行结果:
{name:葱油酱饼 wheelnum:4}
使用匿名类:
{name:#### wheelnum:0}
####Test: 发现故障!未初始化!
葱油酱饼 is Ok!
// ///////////////////////////////////////////
666
1 2 3
1 2 3 4555