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

关于一个输出的有关问题

2011-12-24 
关于一个输出的问题classOutput{publicstaticvoidmain(Stringarg[]){System.out.println( A +newOutput(

关于一个输出的问题
class   Output   {
        public   static   void   main(String   arg[])   {
                System.out.println( "A "+new   Output());
        }
        public   String   toString()   {
                System.out.print( "B ");
                return   "C ";
        }
}  
为什么输出结果是BAC而不是ABC,求解

[解决办法]
System.out.println( "A "+new Output());
这里,相当于:
System.out.println( "A " + new Output().toString());
只有new Output().toString()执行完了,上面这个System.out.println才可能知道要打印的是 "A " + "C ",而不是别的,而一旦new Output().toString()被执行完了,“B”就已经被打印完了。

热点排行
Bad Request.