接口MobilePhone定义了以下方法: void on(); // 开机 void off(); // 关机 void charge(); // 充电 分别采用如下两种方式创建两个实现MobilePhone接口的类的对象,并在测试类中分别对这两个对象调用上述方法。 ① 编写类IPhone实现MobilePhone接口。 ② 使用实现了MobilePhone接口的匿名内部类。 ③ 使用实现了MobilePhone接口的Lambda表达式。
时间: 2024-03-15 16:46:30 浏览: 90
① IPhone类实现MobilePhone接口的示例代码:
```
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.");
}
}
```
在测试类中使用IPhone类创建对象并调用方法的示例代码:
```
public class Test {
public static void main(String[] args) {
MobilePhone iphone = new IPhone();
iphone.on();
iphone.charge();
iphone.off();
}
}
```
② 使用实现了MobilePhone接口的匿名内部类的示例代码:
```
public class Test {
public static void main(String[] args) {
MobilePhone phone = new MobilePhone() {
@Override
public void on() {
System.out.println("Phone is turning on.");
}
@Override
public void off() {
System.out.println("Phone is turning off.");
}
@Override
public void charge() {
System.out.println("Phone is charging.");
}
};
phone.on();
phone.charge();
phone.off();
}
}
```
③ 使用实现了MobilePhone接口的Lambda表达式的示例代码:
```
public class Test {
public static void main(String[] args) {
MobilePhone phone = () -> {
System.out.println("Phone is turning on.");
};
phone.on();
phone.charge();
phone = () -> {
System.out.println("Phone is turning off.");
};
phone.off();
}
}
```
注意,在Lambda表达式中,由于charge()方法没有任何输出,因此我们省略了该方法的实现。
阅读全文