代码如下:
Counter.java
package demo;
public interface Counter {
int next();
}
LocalInnerClass.java
package demo;
public class LocalInnerClass {
private int count = 0;
Counter getCounter(final String name) {
class LocalCounter implements Counter {
public LocalCounter() {
}
public int next() {
System.out.print(name);
return count++;
}
}
return new LocalCounter();
}
Counter getCounter2(final String name) {
return new Counter() {
public int next() {
System.out.print(name);
return count++;
}
};
}
public static void main(String[] args) {
LocalInnerClass lic = new LocalInnerClass();
Counter
c1 = lic.getCounter("Local inner "),
c2 = lic.getCounter2("Anonymous inner ");
for (int i = 0; i < 5; i++)
System.out.println(c1.next());
for (int i = 0; i < 5; i++)
System.out.println(c2.next());
}
}
本文通过具体示例介绍了Java中内部类和匿名内部类的定义与使用方法,展示了如何利用这两种类实现计数器接口,并在主方法中进行调用与测试。
8696

被折叠的 条评论
为什么被折叠?



