首先我们来看这一段代码
public class mytest {
public static void main(String[] args) {
System.out.println(new mytest());
}
public String toString() {
System.out.println("print");
return "return";
}
}
请问以上代码的输出顺序是什么?
A print return
B return print
C return
D print
E 编译通过不了
==============================
仔细思考以上内容
=======================================
答案是 A

首先输出print 再输出 return
这时大家就好奇了为什么同样是输出为什么输出的是print return ,而不是return print呢
原因是:程序首先执行了new mytest()实例化对象,但mytest类和 toString构成了重写
所以会优先调用打印输出print,当打印执行完之后再返回return 所以最后输出 print return

2809

被折叠的 条评论
为什么被折叠?



