Java Example(九)

一、要求实现类Fruit,并继承水果类,派生苹果类Apple和香蕉类Banana,创建这两类的对象,然后将对象的信息输出,创建Fruit类型的数组,调用数组元素的gain()方法,输出对应的信息。具体要求如下:

        ①:成员变量:fruitName(水果的名字)、input(种植水果的投入)。

        ②:构造方法,定义多个构造方法。

        ③:gain() 方法:计算并返回种植水果的收益(比如,假设收益是投入的两倍)。

        ④:苹果类的gain() 方法:种植苹果需要另外缴纳200元的许可证费用。香蕉类的gain() 方法:种植香蕉净收入是投入的3倍。

Fruit父类

package Three;

abstract public class Fruit {
	protected String fruitName; 
	protected int input;
	
	public Fruit(int input) {
		super();
		this.input = input;
	}

	public Fruit(String fruitName, int input) {
		this.fruitName = fruitName;
		this.input = input;
	}
	
	public void gain() {
		int ret = input*2;
		System.out.println("水果收益为:"+ret);
	}

	@Override
	public String toString() {
		return "Fruit [fruitName=" + fruitName + ", input=" + input + "]";
	}
	
}

Apple子类

package Three;

public class Apple extends Fruit {

	public Apple(int input) {
		super(input);
	}
	
	public Apple(String fruitName ,int input) {
		super(fruitName,input);
	}
	
	@Override
	public void gain() {
		int ret = input*2+200;
		System.out.println("苹果收益为:"+ret);
	}
	
}

Banana子类

package Three;

public class Banana extends Fruit{

	public Banana(int input) {
		super(input);
	}
	
	public Banana(String fruitName ,int input) {
		super(fruitName,input);
	}
	
	@Override
	public void gain() {
		int ret = input*3;
		System.out.println("香蕉收益为:"+ret);
	}
	
}

Test测试类

package Three;

public class Test {
	public static void main(String[] args) {

		Fruit[] fruit = new Fruit[] {
			new Apple("apple", 1000),
			new Banana("banana", 1000)
		};
		
		for(int i=0;i<fruit.length;i++) {
			System.out.println(fruit[i].toString());
			fruit[i].gain();
		}
		
	}
}

二、在一个包内设计一个People类,它包含name,age,high属性,有相应的构造方法,分别对私有数据成员添加setter和getter方法。在另一个包中创建测试类,通过setter和getter方法来访问People类对象的数据成员。

People类

package Three2;

public class People {
	private String name;
	private int age;
	private int high;

	public People() {	
	}
	
	public People(String name, int age, int high) {
		this.name = name;
		this.age = age;
		this.high = high;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public int getHigh() {
		return high;
	}

	public void setHigh(int high) {
		this.high = high;
	}

}

Test测试类

package Three2;

public class Test {
	public static void main(String[] args) {
		People xiaohua = new People();
		xiaohua.setName("xiaohua");
		xiaohua.setAge(20);
		xiaohua.setHigh(158);
		System.out.println(xiaohua.getName());
		System.out.println(xiaohua.getAge());
		System.out.println(xiaohua.getHigh());
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值