Java中编写Animal父类,父类的成员变量要求封装,定义子类Dog类和Cat类继承父类
时间: 2024-10-29 19:11:25 浏览: 30
在Java中,你可以这样做:
首先,我们定义一个名为`Animal`的父类,它有封装的成员变量`age`(年龄),并提供一些基本的行为如`eat()`和`speak()`(这里假设动物都会吃和发声)。为了保持数据的安全性和避免直接访问,我们将成员变量声明为`private`并提供`getters`和`setters`方法。
```java
public class Animal {
private int age;
// 构造函数
public Animal(int age) {
this.age = age;
}
// getters and setters
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
// 普通的行为方法,子类可能会覆盖
public void eat() {
System.out.println("动物正在吃东西");
}
public void speak() {
System.out.println("动物发出声音");
}
}
```
然后,我们可以定义两个子类`Dog`和`Cat`,它们都继承自`Animal`,并且可能有自己的特性。例如,狗可能还会摇尾巴(`wagTail()`),猫则喵喵叫(`meow()`):
```java
public class Dog extends Animal {
public Dog(int age) {
super(age);
}
// 狗特有的行为
public void wagTail() {
System.out.println("狗狗摇尾巴");
}
@Override
public void speak() {
System.out.println("狗狗汪汪叫");
}
}
public class Cat extends Animal {
public Cat(int age) {
super(age);
}
// 猫特有的行为
public void meow() {
System.out.println("猫咪喵喵叫");
}
@Override
public void speak() {
System.out.println("猫咪喵喵");
}
}
```
这样,通过`Animal`父类的接口,我们可以在代码中创建各种类型的动物实例,并利用它们的共同行为以及各自的独特行为。
阅读全文