完成图书馆中的局部内部类Card的声明和使用;创建接口Math,在Math接口中定义抽象方法sum,在main方法中通过匿名内部类的方式实现该接口并重写sum方法,并在main方法中回调该sum方法。
时间: 2024-11-09 14:20:47 浏览: 8
首先,我们来声明和使用Java中的局部内部类`Card`。这个例子中,假设`Card`是一个表示图书卡片的数据结构:
```java
public class Library {
private class Card {
// 属性和构造函数省略...
public void display() {
System.out.println("这是图书卡片的信息...");
}
}
public void showBookCard() {
Card card = new Card();
card.display(); // 调用局部内部类的方法
}
}
```
接下来,我们将创建一个名为`Math`的接口,并定义一个抽象方法`sum`:
```java
interface Math {
int sum(int a, int b);
}
```
然后,我们在`main`方法中通过匿名内部类的方式实现`Math`接口,并重写`sum`方法:
```java
public class Main {
public static void main(String[] args) {
Library library = new Library();
// 匿名内部类实现Math接口
Math calculator = new Math() {
@Override
public int sum(int a, int b) {
return a + b;
}
};
int result = calculator.sum(5, 7); // 回调sum方法
System.out.println("两数之和为: " + result);
// 这里也可以直接在main方法中使用,无需创建新的变量
library.showBookCard();
}
}
```
在这个示例中,`Main`类实例化了一个`Library`对象,并通过匿名内部类实现了`Math`接口。在`main`方法中,我们可以直接操作`library`的`showBookCard`方法,这体现了局部内部类的使用。
阅读全文