如果编程不注意细节,注定要被细节"调戏"!
在 Mobiles class 里面有很多这样的判断:
if(code == 1) {
kill();
return;
}
于是,我就想将其封装为一个方法,这样代码看起来会比较整洁!
public void giveUp(int code) {
if(code == 1) {
kill();
return;
}
}
谁知道,不知不觉自己就范了一个大错。看下面的 main()
public static void main(String[] args) {
System.out.println("========before ==== giveUp() ======");
new Mobiles().giveUp(1);
System.out.println("========after ==== giveUp() ======");
}
我要得打印结果是:
========before ==== giveUp() ======
=========giveUp() =============
但是实际结果却是:
========before ==== giveUp() ======
=========giveUp() =============
========after ==== giveUp() ======
但是你在 main() 里面直接使用类似如下代码:
if(**) {
// TODO
return;
}
就会打印自己想要的结果。
说明:return 只是对它所在的方法体有效!