前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java每日一练(19_04_10)|异常—— try catch finally

java每日一练(19_04_10)|异常—— try catch finally

作者头像
微笑的小小刀
发布2019-06-02 23:51:37
3540
发布2019-06-02 23:51:37
举报
文章被收录于专栏:java技术大本营java技术大本营

名人名言

昨日翻译

“A successful man is one who can lay a firm foundation with the bricks others have thrown at him.” ——David Brinkley

成功的人能够把别人扔向他的板砖成为他的根基。

——戴维·布林克利

今日名言

“Those who dare to fail miserably can achieve greatly.” ——John F. Kennedy

2019.04.09问题及解析

题目
代码语言:javascript
复制
public class Son extends Father{
   public static void main(String[] args) {
       new Son().run();//第三行
  }
   private final void run(){//第五行
       System.out.println("son");
  }
}

class  Father{
   private final void run(){
       System.out.println("father");
  }
}

请问结果输出什么?

A.son

B.father

C.第三行编译错误

D.第五行编译错误

E.抛出运行异常

答案与解析

1.相关知识

final修饰的方法不可以被重写,如果子类对final修饰的方法进行重写则编译报错。

private修饰的方法对于子类时不可见的,同样的方法名在父类和子类中同时出现表示的是新定义的方法,与父类无关。

子类父类存在相同方法时,子类进行调用时,优先调用子类的方法。

2.源码分析

定义了一个Son类继承于Father类

首先new了一个Son对象,并且调用了它的run()方法

定义了一个由一个private、final修饰的run方法,输出son

定义了Father类,同样有一个private、final修饰的run方法,输出father

3.答案解析

因为父类的run方法由private、final修饰因此与子类无关,如果去除private则子类run()编译错误,因此本身代码不存在问题。

将会直接调用子类的run方法输出son,答案选A。

2019.04.10问题

代码语言:javascript
复制
public class ExceptionTest {
   public static void main(String[] args) {
       int number = 0;
       System.out.println(returnTest(number));
  }

   private static int returnTest(int number){
       try{
           return number++;
      }catch (Exception ignored){

      }finally {
           return ++number;
      }
  }
}

请问结果输出什么?

A.0

B.1

C.2

D.编译错误

E.输出异常

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-04-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 java技术大本营 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 昨日翻译
  • 今日名言
  • 题目
  • 答案与解析
    • 1.相关知识
      • 2.源码分析
        • 3.答案解析
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档