黑马程序员技术交流社区
标题:
匿名内部类
[打印本页]
作者:
张振纲
时间:
2012-7-31 01:04
标题:
匿名内部类
interface AAA
{
void show();
}
class Student
{
public AAA SSS()
{
new AAA()
{
public void show()
{
System.out.println("zhongguo");
}
}.show();
};
}
class Main
{
public static void main(String[] args)
{
new Student().SSS();
//new Student().new Inner().show();
}
}
复制代码
错误提示,18行缺少返回语句,求指点
作者:
韦念欣
时间:
2012-7-31 01:09
第10行前加上return,例如: return new AAA()
作者:
周世阳
时间:
2012-7-31 01:13
public AAA SSS()这个方法被声明为返回类型为AAA,所以必须返回一个AAA子类型的实例(因为AAA是接口,所以实例必须是子类),在new AAA()前面加上reurn即可
作者:
王志明
时间:
2012-7-31 01:15
interface AAA {
void show();
}
class Student {
// 你这里要返回AAA类型的对象,而你却没有返回
public AAA SSS() {
return new AAA() {
public void show() {
System.out.println("zhongguo");
}
};
};
}
class Main {
public static void main(String[] args) {
// 分开写的话是:
// AAA aaa = new Student().SSS();
// aaa.show();
new Student().SSS().show();
}
}
复制代码
还有,楼主的类名和方法名要起的好点,最好能见名知意
作者:
纪艺松
时间:
2012-7-31 06:51
class Student中的SSS方法要求返回一个AAA,一个方法的返回值必须通过return语句来完成,,我看你方法仅仅只是想通过匿名类调用接口中的方法show()
直接将SSS该成void得了;;;;
作者:
刘海源
时间:
2012-7-31 11:46
希望对你有帮助奥
)$M4_3~]JNX5T)Y4I4CAR@X.jpg
(62.44 KB, 下载次数: 50)
下载附件
2012-7-31 11:46 上传
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2