接口MobilePhone定义了以下方法: void on(); // 开机 void off(); // 关机 void charge(); // 充电 分别采用如下两种方式创建两个实现MobilePhone接口的类的对象,并在测试类中分别对这两个对象调用上述方法。 ① 编写类IPhone实现MobilePhone接口。 ② 使用实现了MobilePhone接口的匿名内部类。 ③ 使用实现了MobilePhone接口的Lambda表达式。
时间: 2024-03-15 11:46:47 浏览: 169
定义一个接口Assaultable(可攻击的),该接口有一个抽象方法attack()。 2,定义一个接口Mobile
① IPhone类实现MobilePhone接口:
```java
public class IPhone implements MobilePhone {
@Override
public void on() {
System.out.println("IPhone is turning on.");
}
@Override
public void off() {
System.out.println("IPhone is turning off.");
}
@Override
public void charge() {
System.out.println("IPhone is charging.");
}
}
```
② 使用实现了MobilePhone接口的匿名内部类:
```java
public class Test {
public static void main(String[] args) {
MobilePhone mobilePhone = new MobilePhone() {
@Override
public void on() {
System.out.println("Mobile phone is turning on.");
}
@Override
public void off() {
System.out.println("Mobile phone is turning off.");
}
@Override
public void charge() {
System.out.println("Mobile phone is charging.");
}
};
mobilePhone.on();
mobilePhone.charge();
mobilePhone.off();
}
}
```
③ 使用实现了MobilePhone接口的Lambda表达式:
```java
public class Test {
public static void main(String[] args) {
MobilePhone mobilePhone = () -> {
System.out.println("Mobile phone is turning on.");
};
mobilePhone.on();
mobilePhone.charge();
mobilePhone.off();
}
}
```
这里只展示了一个Lambda表达式实现,其他方法的实现方式与匿名内部类相同。
阅读全文