作者chenchen142 ()
看板java
标题[问题] 新手问abstract method
时间Thu Dec 9 14:00:53 2010
interface a{String toString();}
interface b{String m();}
class c{
public static void main(String[] args){
//实作toString()并印出
System.out.println(new a(){public String toString(){return "a";}});
//实作m()并印出
System.out.println(new b(){public String m(){return "b";}});
//宣告一个bb, 实作m()并印出
b bb = new b(){public String m(){return "b";}};
System.out.println(bb.m());
}
}
结果输出:
a
c$2@c17164
b
有一行印出奇怪的东西
为啥实作抽象方法如果不用toString()的话就要宣告一个变数起来
再呼叫才能正确显示字串
还是我误会什麽了
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.128.101.40
1F:→ tkcn:toString是Object提供的method,print里头放obj就会印toString 12/09 14:08
2F:推 LPH66:简单说你在这里呼叫到的是 Object.toString 12/09 14:34
3F:→ LPH66:而不是你自己写的 b.m 其原因如一楼所言 12/09 14:36