非匿名内部类可以实现接口吗
时间: 2024-06-11 18:04:03 浏览: 16
可以。非匿名内部类可以实现接口,通过实现接口来实现多态性。内部类可以访问外部类的私有成员和方法,因此可以方便地与外部类协同工作。以下是一个实现接口的非匿名内部类的示例:
```
public class OuterClass {
private int x = 10;
interface InnerInterface {
void display();
}
class InnerClass implements InnerInterface {
public void display() {
System.out.println("The value of x is: " + x);
}
}
public void print() {
InnerClass inner = new InnerClass();
inner.display();
}
public static void main(String[] args) {
OuterClass outer = new OuterClass();
outer.print();
}
}
```
在上面的示例中,我们定义了一个名为InnerInterface的接口,并在OuterClass中定义了一个名为InnerClass的非匿名内部类,该类实现了InnerInterface接口。在print方法中,我们创建了一个InnerClass对象,并调用了它的display方法。这个方法可以访问外部类中的私有变量x。最后,我们在main方法中创建了一个OuterClass对象,并调用了它的print方法,输出了x的值。