楼主是看了面向对象(下)视频教程讲接口里面的那个例子么
interface PCI
{
void start();
void stop();
}
后面有一个地方是
class Assembler
{
MainBoard mb = new MainBoard(); //class Mainboard的定义省略
mb.usePCICard(new PCI()
{
public void start()
{
System.out.println("test start");
}
public void stop()
{
System.out.println("test stop");
}
}
);
}
这里面mb.usePCICard(new PCI() { ..........}); 实际上是一个匿名内置类,相当于
class A implements PCI
{
public void start();
{
System.out.println("test start");
}
public void stop();
{
System.out.println("test stop");
}
}
mb.usePCICard(new A());
这种匿名类确实是要继承父类的, new PCI()实际上是new 了一个PCI的子类,后面的改写中A就是这个子类
但是这种匿名类只要是继承了一个父类就行,不一定非要实现一个接口。
如有错误,欢迎指出~~~
[ 本帖最后由 窦雪 于 2011-07-15 21:19 编辑 ] |