眾所周知
例一
class test {
public String test() {
if(true){
return
}
else{
return
}
}
}
上面這樣即可通過編譯
(一)
class test {
public String test() {
if(true){
return
}
}
}
(二)
class test {
public String test() {
if(isTrue()){
return
}
else if(!isTrue()){//兩個if裡的判斷包括了所有的可能性
return
}
}
boolean isTrue(){
return true;
}
}
結論
對於(一)
對於(二)
再看例二
class test {
public String test() {
while(true){
return
}
}
}
上面這樣即可通過編譯
class test {
public String test() {
while(isTrue()){
return
}
}
boolean isTrue(){
return true;
}
}
結論
這是因為編譯器認為while語句有在任何情況下都能執行的能力
再看例三
public class test {
String test() throws Exception{
throw new Exception()
}
}
結論
如果函數中創建了異常
From:http://tw.wingwit.com/Article/program/Java/hx/201311/26888.html