DESKTOP-9M8MO52_20200904-周俊

一,问题

public class Magpie {
    
    public int wusuiwei1() {
        int a = 100 ;
        try {
            return a ;
        } catch( Exception e ) {
            return -a;
        } finally {
            ++a ;
        }
    }
    
    public int wusuiwei2() {
        int a = 100 ;
        try {
            return a ;
        } catch( Exception e ) {
            return -a;
        } finally {
            return ++a ;
        }
    }
    
    public static void main(String[] args) {
        
        Magpie m = new Magpie();
        int x = m.wusuiwei1();
        System.out.println( x );
        
        int y = m.wusuiwei2();
        System.out.println( y );
    }

}

输出:100
    101

try语句块中return时先将返回值记录,再执行finally语句块,如果finally语句块中有return,则覆盖执行,如果没有return则返回记录值。

二,吐槽

标签

© 2021 成都云创动力科技有限公司 蜀ICP备20006351号-1