首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

关于extends和implements创建的内部类的有关问题,多谢帮忙

2012-01-11 
关于extends和implements创建的内部类的问题,谢谢帮忙谢谢高手解疑,问题是这样的:代码一:abstract class A

关于extends和implements创建的内部类的问题,谢谢帮忙
谢谢高手解疑,问题是这样的:
代码一:
abstract class A{
abstract public void fun1();
}
public class Outer {
public static void main(String[] args) {
class Inner implements A{ //编译器报错:此处需要接口
public void fun1(){
System.out.println("implement for fun1");
}
}
new Outer().callInner(new Inner()); //编译器报错:无法将 Outer 中的 
  //callInner(A) 应用于 (Inner)
  new Outer().callInner(new Inner());
}
public void callInner(A a){
a.fun1();
}
}
代码二:
abstract class A{
abstract public void fun1();
}
public class Outer {
public static void main(String[] args) {
class Inner extends A{
public void fun1(){
System.out.println("implement for fun1");
}
}
new Outer().callInner(new Inner());
}
public void callInner(A a){
a.fun1();
}
}
两段代码只有两处标记处(implements 和 extends)不一样,代码一报错(),代码二可以正常运行,这是为什么呢,两种方法创建的内部类有什么区别呢。 谢谢!

[解决办法]
你这怎么行呢!老兄,你那都是一个粗象类,又不是接口,你怎么可去实现它呢!对它只能继承啊!
[解决办法]
implements是用于实现接口时用的关键字.接口是用interface定义的.
class Inner implements A{ //A只是一个抽象类,并不是接口.类与类之间不存在implements关系

热点排行