1.设计父类和子类.java 自行设计一父类,多个了类扩展该处类,父类有私有的域和方法、子类覆盖父类的方法, 代码有差异性。同时子类中设计各自独有的方法。 法。
时间: 2024-10-10 11:15:37 浏览: 35
隐藏父类的成员变量-类(java)
在Java中,设计一个简单的父类和子类的例子可以帮助理解多态。首先,我们创建一个名为`Animal`的抽象父类,它包含一个私有属性(例如`age`)和通用的行为,比如`eat()`方法:
```java
public abstract class Animal {
private int age;
public Animal(int age) {
this.age = age;
}
// 父类的方法
public void eat() {
System.out.println("动物正在吃东西");
}
// 抽象方法,子类需要实现
public abstract void makeSound();
// 获取年龄的方法
public int getAge() {
return age;
}
}
```
接着,我们可以创建几个子类来扩展`Animal`,每个子类代表特定种类的动物,并覆盖`makeSound()`方法以体现它们独特的声音:
```java
public class Dog extends Animal {
public Dog(int age) {
super(age);
}
@Override
public void makeSound() {
System.out.println("汪汪");
}
}
public class Cat extends Animal {
public Cat(int age) {
super(age);
}
@Override
public void makeSound() {
System.out.println("喵喵");
}
}
```
现在,你可以看到`Dog`和`Cat`类都是`Animal`类的实例,虽然它们都有`eat()`和`getAge()`方法,但通过`makeSound()`方法,它们可以表现出各自的特性:
```java
public class Main {
public static void main(String[] args) {
Animal dog = new Dog(5);
Animal cat = new Cat(3);
dog.eat(); // 输出: 动物正在吃东西
dog.makeSound(); // 输出: 汪汪
cat.eat(); // 输出: 动物正在吃东西
cat.makeSound(); // 输出: 喵喵
System.out.println(dog.getAge()); // 输出: 5
System.out.println(cat.getAge()); // 输出: 3
}
}
```
这个例子展示了多态如何允许使用相同的引用类型存储不同类型的对象,并能在运行时动态地调用各自特有的行为。
阅读全文