定义Animal父类,含有属性name,sex,age,方法sleep,run,编写一个子类Person,继承Animal类,然后调用父类的属性和方法。
// 定义Animal类
public class Animal {
// 定义属性
private String name;
private String sex;
private int age;
// 构造函数
public Animal(String name, String sex, int age) {
this.name = name;
this.sex = sex;
this.age = age;
}
// 定义方法
public void sleep() {
System.out.println(name + " is sleeping.");
}
public void run() {
System.out.println(name + " is running.");
}
// getter和setter方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
// 定义Person子类,继承Animal类
public class Person extends Animal {
// 构造函数
public Person(String name, String sex, int age) {
super(name, sex, age); // 使用 super 关键字调用父类的构造函数
}
// 调用父类的方法
public void doSomething() {
sleep(); // 调用父类的 sleep 方法
run(); // 调用父类的 run 方法
}
}
// 测试
public class Test {
public static void main(String[] args) {
Person person = new Person("Tom", "male", 20);
System.out.println(person.getName());
System.out.println(person.getSex());
System.out.println(person.getAge());
person.doSomething();
}
}
上述代码中,定义了一个 Animal 父类,包含了属性和方法。然后定义了一个 Person 子类,继承了 Animal 父类,并用 super 关键字调用了父类的构造函数来初始化属性。
在子类 Person 中也定义了一个 doSomething() 方法,该方法调用了父类的 sleep() 和 run() 方法。
在测试类 Test 中,我们创建了一个 Person 对象,并调用了其属性和方法,其中 getName()、getSex()、getAge() 方法是从 Animal 其父类继承来的,而 doSomething() 方法则是从 Person 子类中继承来的。
最后附上输出结果:
Tom
male
20
Tom is sleeping.
Tom is running.