在Java中,定义一个animals,私有化变量(age,name,gender)设置静态变量Hobby并赋值eat,写一个相关行为,要方法重载,定义一个类去继承Dog,并初始化变量和行为
时间: 2024-12-12 20:26:20 浏览: 22
在Java中,我们可以定义一个名为`Animal`的类作为基础类,它包含私有变量如年龄(age),名称(name)和性别(gender),同时有一个静态变量Hobby并赋值为"eat",表示所有动物的基本爱好。接下来,我们创建一个方法重载的例子,让`Animal`类有一个显示基本信息的方法。
```java
public class Animal {
private int age;
private String name;
private String gender;
// 定义静态变量及初始值
public static String Hobby = "eat";
// 方法重载示例 - 显示动物信息的基础版
public void displayInfo() {
System.out.println("Name: " + name + ", Age: " + age + ", Gender: " + gender);
}
// 方法重载示例 - 更具体的狗的行为
public void bark() {
System.out.println(name + " is barking.");
}
}
// 继承Animal类的Dog子类
class Dog extends Animal {
// 初始化子类属性
public Dog(int age, String name, String gender) {
this.age = age;
this.name = name;
this.gender = gender;
}
@Override
public void displayInfo() {
super.displayInfo();
System.out.println("Hobby: " + Hobby + ", I am a dog.");
}
// 重写父类的方法,提供新的行为
public void fetch() {
System.out.println(name + " is fetching a ball.");
}
}
```
在这个例子中,我们首先定义了一个基本的`Animal`类,然后定义了它的私有属性、静态变量以及两个方法。接着,我们创建了`Dog`类,它是`Animal`的子类,重写了`displayInfo`方法以添加更多的描述,并新增了特有的行为`fetch`。当我们实例化`Dog`并调用其方法时,会体现出多态性。
阅读全文