TestInterface01 t2 = new Student();
时间: 2024-10-11 13:16:23 浏览: 18
这行代码是一个典型的 Java 实现多态的例子。`TestInterface01 t2 = new Student();` 这里,`t2` 是 `TestInterface01` 类型的一个引用,它被初始化为 `Student` 类的对象。`Student` 是实现了 `TestInterface01` 接口的类。
这里体现了接口多态(interface polymorphism),即通过一个共同的接口类型引用实际是不同类型的具体实现。虽然编译器不知道 `t2` 的具体类型(这里是 `Student`),但在运行时,你可以使用 `TestInterface01` 中定义的方法,因为 `Student` 类确实实现了这个接口。
举例来说,如果你有这样一个 `TestInterface01` 接口:
```java
public interface TestInterface01 {
void study();
}
```
那么 `Student` 类可能这样实现:
```java
public class Student implements TestInterface01 {
@Override
public void study() {
System.out.println("学生正在学习");
}
}
```
当你调用 `t2.study()` 时,会执行 `Student` 类提供的 `study` 方法。
相关问题
1. 创建一个接口,接口的名字叫TestInterface,接口里至少有一个常量String myVar=”Hello Interface”,两个抽象方法write()和read()。
好的,下面是你需要的代码:
```
public interface TestInterface {
String myVar = "Hello Interface"; // 常量
void write(); // 抽象方法
void read(); // 抽象方法
}
```
这个接口中包含了一个常量和两个抽象方法,你可以在实现这个接口的类中实现这两个方法来完成你的业务逻辑。
用JAVA定义一个接口用来实现两个对象的比较。 interface CompareObject{ public int compareTo(Object o); //若返回值是 0 , 代表相等; 若为正数,代表当前对象大;负数代表当前对象小 } 定义一个Circle类。 定义一个ComparableCircle类,继承Circle类并且实现CompareObject接口。在ComparableCircle类中给出接口中方法compareTo的实现体,用来比较两个圆的半径大小。 定义一个测试类TestInterface,创建两个ComparableCircle对象,调用compareTo方法比较两个类的半径大小。
以下是代码实现:
```java
// 定义比较接口
interface CompareObject {
public int compareTo(Object o);
// 若返回值是 0,代表相等;若为正数,代表当前对象大;负数代表当前对象小
}
// 定义圆类
class Circle {
private double radius;
public Circle(double radius) {
this.radius = radius;
}
public double getRadius() {
return radius;
}
}
// 定义可比较的圆类
class ComparableCircle extends Circle implements CompareObject {
public ComparableCircle(double radius) {
super(radius);
}
// 实现比较接口
public int compareTo(Object o) {
if (this == o) return 0;
if (o instanceof ComparableCircle) {
ComparableCircle c = (ComparableCircle) o;
if (this.getRadius() > c.getRadius()) {
return 1;
} else if (this.getRadius() < c.getRadius()) {
return -1;
} else {
return 0;
}
} else {
throw new RuntimeException("传入的对象不是ComparableCircle类型");
}
}
}
// 测试类
public class TestInterface {
public static void main(String[] args) {
ComparableCircle c1 = new ComparableCircle(3.0);
ComparableCircle c2 = new ComparableCircle(2.0);
System.out.println(c1.compareTo(c2)); // 输出 1,c1 的半径大于 c2 的半径
}
}
```
阅读全文