黑马程序员技术交流社区
标题:
一个简单的代码,,,请问错在哪里了
[打印本页]
作者:
awkflf11
时间:
2014-3-26 12:01
标题:
一个简单的代码,,,请问错在哪里了
void method2()
{
new Object(
{
void show2(){}
}.show2();
Object obj = new Object(
{
void show2(){System.out.println("show2 run");}
void show3(){System.out.println("show3 run");}
};
obj.show2()
}
}
一个简单的代码,,,请问错在哪里了、、、看了好久,,没有看出来,,,
谢谢了
作者:
南湘雨梦
时间:
2014-3-26 12:06
本帖最后由 南湘雨梦 于 2014-3-26 12:15 编辑
Object obj = new Object(
{
void show2(){System.out.println("show2 run");}
void show3(){System.out.println("show3 run");}
};
obj.show2()
复制代码
Object里面没有show2方法
作者:
李东梁
时间:
2014-3-26 12:10
本帖最后由 李东梁 于 2014-3-26 12:12 编辑
这是一个匿名内部类问题:
void method2()
{
new Object(
{
void show2(){}
}.show2();
Object obj = new Object(
{
void show2(){System.out.println("show2 run");}
void show3(){System.out.println("show3 run");}
};
obj.show2()//错在了这里。
}
}
复制代码
错在我注释的地方,匿名内部类被提升,Object没有show2方法,所以报错!
作者:
awkflf11
时间:
2014-3-26 12:11
南湘雨梦 发表于 2014-3-26 12:06
013456456假道伐虢
这是 什么嘛情况 从农村 不放方便
作者:
491138002
时间:
2014-3-26 16:35
Object没有show2方法
作者:
╰青青子佩ˊゝ
时间:
2014-3-26 22:45
正确的应该这样写:
作者:
╰青青子佩ˊゝ
时间:
2014-3-26 22:46
正确的应该这样写:
method2()
{
new Object()
{
public void show2(){System.out.println("show2 run");}
public void show3(){System.out.println("show3 run");}
}.show2();
}
作者:
shi0000
时间:
2014-3-26 22:59
void method2() { new Object( { void show2(){} }.show2(); //没有方法体不会运行 Object obj = new Object( { void show2(){System.out.println("show2 run");} void show3(){System.out.println("show3 run");} }; obj.show2() } }
作者:
shi0000
时间:
2014-3-27 23:01
void method2()
{ new Object( {
void show2(){} }.show2(); //没有方法体不会运行
Object obj = new Object( {
void show2(){
System.out.println("show2 run");}
void show3(){
System.out.println("show3 run");}
};
obj.show2() } }
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2