callin33 发表于 2004-8-30 19:19

急求解

如下题,拜托。
public interface AM {
void call();
}
public class CC {
public AM test() {
class I implements AM {
public void call() {
System.out.println("Test");
}
}
return new I();
}
public static void main(String[] args) {
CC cc = new CC();
AM am = cc.test(); // (1)
am.call(); // (2)
AM am2 = new CC.I(); // (3)
am2.test(); // (4)
}
}
Erkl¨aren Sie, welche der Zeilen (1) bis (4) nicht funktionieren und warum.

musicbug 发表于 2004-8-30 19:57

不赞成这样的作业问题. 这里是大家研究讨论问题的地方,如果你有问题,先写出你的想法.你自己的分析.

callin33 发表于 2004-8-30 20:57

再求

斑竹老大,我是实在没有办法。只能在这儿是柳暗花明又一村了。这是一道关于接口和内类的问题,编译时出错。跪请指点一二。

callin33 发表于 2004-8-30 20:58

斑竹老大,我是实在没有办法。只能在这儿是柳暗花明又一村了。这是一道关于接口和内类的问题,编译时出错。跪请指点一二。后天就考试了5555。

daxia108 发表于 2004-9-1 00:09

3,4句有问题。其实是很明显的错误,试问创建一个新的对象后面怎么会不跟上括号?另外am2是接口类型,里面只有一个声明call,没有test之类的东东。

照偶的看法,第3,4句应该改成
AM am2 = new CC().test(); // (3)
am2.call(); // (4)
页: [1]
查看完整版本: 急求解