猿问

关于方法中return返回值的问题

public class Test {
    public static void main(String[] args) {
        System.out.println(test3());
    }
    public static  int test3(){
          try{return 20;

  }catch(Exception e){
            e.printStackTrace();
            System.out.println("循环抛出异常了!!!");
        
        }finally{
            System.out.println("这是finally!!!哈哈!!!");
       
        }
        return 0;//问题是这里的return0;如果注释掉程序会出错。
    }

}

程序有点乱,大家不要介意,我得主要问题就是在test3方法try中已经有了返回值return 20;为什么在下面一定要加上return0;呢?如果不加程序会提示错误,并且在下面的程序中没有添加return 30;就没有问题,这是为什么呢?

public class Test3 {
    public static void main(String[] args){
        System.out.println(test());
    }
    public static String test(){
        try{
            System.out.println("try block");
            return "20";
        }finally{
            System.out.println("finally block");
        }

       //return 30;    

   }

}


坚持努力的少年
浏览 2650回答 2
2回答
随时随地看视频慕课网APP

相关分类

Java
我要回答