java编写一个person类属性姓名年龄方法吃饭和睡觉两个方法子类学生学生有自己的属性学号和学习方法工人工人有自己的属性工号和工作方法
时间: 2024-11-15 12:22:33 浏览: 13
在Java中,你可以创建一个名为`Person`的基类,然后定义一些通用属性如姓名和年龄,并提供吃饭和睡觉这两个方法。接着,为了实现多态,你可以为`Person`创建两个子类,如`Student`和`Worker`,每个子类添加特定的属性(学号和工号)以及特有的方法(学习和工作)。下面是一个简单的示例:
```java
// Person基类
public class Person {
private String name;
private int age;
// 构造函数
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// 公共方法
public void eat() {
System.out.println(name + " is eating.");
}
public void sleep() {
System.out.println(name + " is sleeping.");
}
}
// Student子类
public class Student extends Person {
private String studentId;
public Student(String name, int age, String studentId) {
super(name, age);
this.studentId = studentId;
}
// 学生特有的方法
public void study() {
System.out.println(name + " is studying (" + studentId + ").");
}
}
// Worker子类
public class Worker extends Person {
private String workerId;
public Worker(String name, int age, String workerId) {
super(name, age);
this.workerId = workerId;
}
// 工人的特有方法
public void work() {
System.out.println(name + " is working (" + workerId + ").");
}
}
```
在这个例子中,`Student`和`Worker`都继承了`Person`,并且覆盖或重写了`eat()`和`sleep()`方法,同时各自添加了`study()`和`work()`方法。这展示了多态性如何允许不同类型的对象通过相同的接口(即`Person`类的方法)表现出不同的行为。
阅读全文