用Java代码描述: 学生都有年龄和姓名属性,有吃饭(学生餐)和学习方法,但是有部分学生会打篮球 老师都有年龄和姓名属性,有吃饭(工作餐)和讲课方法,但是有部分老师会打篮球
时间: 2024-11-12 15:37:42 浏览: 8
Java TreeSet实现学生按年龄大小和姓名排序的方法示例
5星 · 资源好评率100%
在Java中,我们可以设计两个类来表示学生和老师,以及他们共有的属性和特定的行为。这里是一个简单的例子:
```java
// 定义一个共同的Person类作为父类
class Person {
private String name;
private int age;
// 构造函数和 getter/setter方法
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// 共享的行为 - 吃饭
public void eat(String mealType) {
System.out.println("这个人正在吃" + mealType);
}
// 获取和设置姓名和年龄
// ...
// 打篮球是一个特殊的活动,不是所有人都会,所以这里假设有一个isBasketballPlayer属性和相应的方法
boolean isBasketballPlayer; // 如果需要,可以添加getter和setter
// 是否打篮球
public void playBasketball() {
if (isBasketballPlayer) {
System.out.println(name + " 正在打篮球");
} else {
System.out.println(name + " 不会打篮球");
}
}
}
// 学生类继承自Person,并增加特有的学习方法
class Student extends Person {
// 增加特有的属性如学习成绩
private double GPA;
// 构造函数
public Student(String name, int age, double gpa) {
super(name, age);
this.GPA = gpa;
}
// 学习方法
public void study() {
System.out.println(name + " 正在学习");
}
// 更具体的打篮球状态可能由每个学生决定
@Override
public void playBasketball() {
super.playBasketball();
}
}
// 老师类同样继承自Person,并增加特有的讲课方法
class Teacher extends Person {
private String subject;
// 构造函数
public Teacher(String name, int age, String subject) {
super(name, age);
this.subject = subject;
}
// 讲课方法
public void teach() {
System.out.println(name + " 正在讲授" + subject);
}
// 类似于学生,老师是否打篮球也是个人情况
// ...
}
```
阅读全文