设计一个通用类Fruit可以用来建模所有的水果对象。 这个类包括成员变量 color 和 weight , 以及适用于获取这些变量的 get 方法和对这些变量赋值的 set 方法。 (其中成员变量color代表颜色,是一个字符串。weight代表水果重量,为double类型) 该类还包括一个taste()方法和一个返回自我描述信息的toString()方法。 设计二个名为Apple和Lemon的类来扩展Fruit类。 该类包括(需要补充一些方法用以完成该作业): • 一个无参构造方法创建默认的苹果或柠檬,颜色设为红色或黄色,重量500克。 • 一个能创建带指定颜色重量的苹果或柠檬的构造方法。 • 两个子类都要重写taste()方法和toString()方法。 主方法如下,不能改动。 public static void main(String[] args) { Fruit fr1=new Apple("条纹红",600); Fruit fr2=new Lemon("黄色",300); System.out.print(fr1); fr1.taste(); System.out.print(fr2); fr2.taste(); } 输出结果类似如下:
时间: 2024-01-22 22:20:31 浏览: 68
通用类,包含通用对象类型转换、代码执行时间测量等
代码如下:
```
public class Fruit {
private String color;
private double weight;
public Fruit() {
this.color = "红色";
this.weight = 500;
}
public Fruit(String color, double weight) {
this.color = color;
this.weight = weight;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public double getWeight() {
return weight;
}
public void setWeight(double weight) {
this.weight = weight;
}
public void taste() {
System.out.println("这个水果的味道不错!");
}
@Override
public String toString() {
return "这个水果的颜色是" + color + ",重量是" + weight + "克。";
}
}
public class Apple extends Fruit {
public Apple() {
super();
}
public Apple(String color, double weight) {
super(color, weight);
}
@Override
public void taste() {
System.out.println("这个苹果的味道很甜!");
}
@Override
public String toString() {
return "这是一个苹果," + super.toString();
}
}
public class Lemon extends Fruit {
public Lemon() {
super();
}
public Lemon(String color, double weight) {
super(color, weight);
}
@Override
public void taste() {
System.out.println("这个柠檬的味道很酸!");
}
@Override
public String toString() {
return "这是一个柠檬," + super.toString();
}
}
public class Main {
public static void main(String[] args) {
Fruit fr1 = new Apple("条纹红", 600);
Fruit fr2 = new Lemon("黄色", 300);
System.out.print(fr1);
fr1.taste();
System.out.print(fr2);
fr2.taste();
}
}
```
输出结果:
```
这是一个苹果,这个水果的颜色是条纹红,重量是600.0克。
这个苹果的味道很甜!
这是一个柠檬,这个水果的颜色是黄色,重量是300.0克。
这个柠檬的味道很酸!
```
阅读全文