本文最后更新于 194 天前,其中的信息可能已经有所发展或是发生改变。
java主要对类进行设计,理解继承、重载、重写、使用方法来修改属性。
1 设计一个鸭子的父类(color,heavy,fly(),quack())
2 设计两种不同鸭子的子类继承鸭子的父类(使用构造函数初始化属性,SetHeavy()进行重载
3 父类对其中的方法进行重写(具体实现都用打印字符串)
Duck.java
package test2;
// Duck 类:鸭子的父类
public class Duck {
private String color;
private double weight;
// 构造函数
public Duck(String color, double weight) {
this.color = color;
this.weight = weight;
}
// 飞行方法
public void fly() {
System.out.println("I'm flying!");
}
// 呱呱叫方法
public void quack() {
System.out.println("Quack Quack!");
}
// 设置重量方法
public void setWeight(double weight) {
this.weight = weight;
}
// 获取颜色方法
public String getColor() {
return color;
}
// 获取重量方法
public double getWeight() {
return weight;
}
// 重写 toString 方法
@Override
public String toString() {
return "Duck{" +
"color='" + color + '\'' +
", weight=" + weight +
'}';
}
}
MallardDuck.java
package test2;
// MallardDuck 类:绿头鸭子的子类
public class MallardDuck extends Duck {
// 构造函数
public MallardDuck(String color, double weight) {
super(color, weight);
}
// 重写飞行方法
@Override
public void fly() {
System.out.println("Mallard Duck is flying!");
}
// 重载设置重量方法
public void setWeight(double weight, String unit) {
System.out.println("将Mallard Duck的重量设置为 " + weight + " " + unit);
super.setWeight(weight);
}
}
RubberDuck.java
package test2;
// RubberDuck 类:橡皮鸭子的子类
public class RubberDuck extends Duck {
// 构造函数
public RubberDuck(String color, double weight) {
super(color, weight);
}
// 重写呱呱叫方法
@Override
public void quack() {
System.out.println("Squeak Squeak!");
}
// 重载设置重量方法
public void setWeight(double weight, boolean inflated) {
if (inflated) {
System.out.println("Rubber Duck 充气,将重量设置为 " + weight);
super.setWeight(weight);
} else {
System.out.println("Rubber Duck 没有充气,不能设定重量!");
}
}
}
Main.java
package test2;
// 测试类
public class Main {
public static void main(String[] args) {
// 创建 MallardDuck 实例
MallardDuck mallardDuck = new MallardDuck("Green", 2.5);
System.out.println("Mallard Duck: " + mallardDuck);
mallardDuck.fly(); // 调用重写的飞行方法
mallardDuck.setWeight(3.0, "kg"); // 调用重载的设置重量方法
System.out.println("重设重量后的Mallard Duck: " + mallardDuck);
System.out.println();
// 创建 RubberDuck 实例
RubberDuck rubberDuck = new RubberDuck("Yellow", 0.1);
System.out.println("Rubber Duck: " + rubberDuck);
rubberDuck.quack(); // 调用重写的呱呱叫方法
rubberDuck.setWeight(0.2, true); // 调用重载的设置重量方法
System.out.println("重设重量后的Rubber Duck: " + rubberDuck);
rubberDuck.setWeight(0.3, false); // 调用重载的设置重量方法
}
}