Java 面向对象 之 对象数组

http://www.verejava.com/?id=16992784958543

/**
	知识点: 对象数组
		1. 对象数组的使用
		2. 对象数组的foreach 增强for循环
		3. 可变参数

	题目:乘客一次只能带2个箱子免费上飞机
	思路:
		1. 抽象出类 乘客(Customer)  , 箱子(Box)
		2. 乘客和箱子的关系  1对2的关系 Box->Customer
*/
public class ObjectArray
{
	public static void main(String[] args)
	{
		//实例化一个乘客
		Customer c=new Customer("黎明");

		//实例化两个箱子一个装衣服, 一个装书
		Box clothBox=new Box("装衣服");
		clothBox.setId(1);
		clothBox.setWeight(20);

		Box bookBox=new Box("装书");
		bookBox.setId(2);
		bookBox.setWeight(30);
		
		//将箱子添加到乘客
		c.addBox(clothBox);
		c.addBox(bookBox);

		//打印该乘客的信息
		System.out.println("乘客姓名: "+c.getName());
		System.out.println("箱子编号, 箱子重量, 箱子描述");
		Box[] boxes=c.getBoxes();
		for(Box box:boxes)
		{
			System.out.println(box.getId()+","+box.getWeight()+","+box.getDescription());
		}

		//测试可变参数
		Box[] boxes2={clothBox,bookBox};
		c.setBoxes();//不传参数
		c.setBoxes(clothBox);//传一个参数
		c.setBoxes(boxes2);//传一个数组
		boxes=c.getBoxes();
		for(Box box:boxes)
		{
			System.out.println(box.getId()+","+box.getWeight()+","+box.getDescription());
		}
	}
}

class Customer
{
	private String name;//乘客名字
	private Box[] boxes=new Box[2];//箱子属于乘客, 添加箱子引用
	

	public Customer(String name)
	{
		this.name=name;
	}

	public String getName()
	{
		return this.name;
	}
	public void setName(String name)
	{
		this.name=name;
	}
	public Box[] getBoxes()
	{
		return this.boxes;
	}
	/**
		乘客携带添加的箱子
		返回值: 如果添加成功返回true 否则false
	*/
	public boolean addBox(Box box)
	{
		for(int i=0;i<boxes.length;i++)
		{
			if(boxes[i]==null)
			{
				boxes[i]=box;
				return true;
			}
		}
		return false;
	}

	public void setBoxes(Box ...boxes)
	{
		this.boxes=boxes;
	}
}
class Box
{
	private float weight;//箱子的重量
	private int id;//箱子的编号
	private String description;//描述

	public Box(String description)
	{
		this.description=description;
	}

	public String getDescription()
	{
		return this.description;
	}
	public void setDescription(String description)
	{
		this.description=description;
	}
	
	public int getId()
	{
		return this.id;
	}
	public void setId(int id)
	{
		this.id=id;
	}

	public float getWeight()
	{
		return this.weight;
	}
	public void setWeight(float weight)
	{
		this.weight=weight;
	}

}

http://www.verejava.com/?id=16992784958543


猜你喜欢

转载自blog.csdn.net/verejava/article/details/80520225