第3关:接口的定义与使用-学生还是老师
时间: 2024-12-19 09:21:16 浏览: 27
在面向对象编程中,第3关通常涉及接口(Interface)的概念,它是一种特殊的抽象数据类型,只包含常量(静态最终变量)和方法声明,而不提供方法的具体实现。接口用于描述对象应该具有的行为,可以被多个类实现。
例如,我们可以定义一个名为"Person"的接口,它有"setName()"和"getAge()"这样的方法。然后,我们可以创建两个实现这个接口的类:"Student"和"Teacher"。每个类都必须提供他们各自版本的这些方法:
```java
// 定义接口 Person
interface Person {
void setName(String name);
int getAge();
}
// 实现接口的类 Student
class Student implements Person {
private String name;
@Override
public void setName(String name) {
this.name = name;
}
@Override
public int getAge() {
// 实现年龄获取逻辑
return 18; // 假设所有学生都是18岁
}
}
// 另一个实现接口的类 Teacher
class Teacher implements Person {
private String name;
@Override
public void setName(String name) {
this.name = name;
}
@Override
public int getAge() {
// 实现年龄获取逻辑,比如假设教师年龄范围较大
return 25 + (int)(Math.random() * 40); // 随机生成25到65之间的年龄
}
}
```
这样,虽然"Student"和"Teacher"都被标记为"Person"接口的实现者,但他们可以根据各自的特性和需求提供不同的`getAge()`方法实现。这就是多态的一个应用实例。
阅读全文