美文网首页
继承类的容易出错的基础题

继承类的容易出错的基础题

作者: android121 | 来源:发表于2018-05-31 09:26 被阅读6次

    结论:子类继承父类,调用方法时先是调用子类中的方法,如果没有就调用父类中的方法,还有一点就是try{ }、catch{ }、finally{ }返回值的问题,一旦try{ }中返回了某一个值,如果finally有返回值,finally中的返回值会覆盖try的返回值,如果finally没有返回值,就是try中的返回值。

    原题接:https://www.nowcoder.com/questionTerminal/af8cf04602e045958d13d16d20a1bf02

    详细解答:https://blog.csdn.net/zhumintao/article/details/53818972

    public class Test {

        public static void main(String [] args){

            System.out.println(new B().getValue());

        }

        static class A{

            protected int value;

            public A(int v) {

                setValue(v);

            }

            public void setValue(int value){

                this.value = value;

            }

            public int getValue(){

                try{

                    value++;

                    return value;

                } catch(Exception e){

                    System.out.println(e.toString());

                } finally {

                    this.setValue(value);

                    System.out.println(value);

                }

                return value;

            }

        }

        static class B extends A{

            public B() {

                super(5);

                setValue(getValue() - 3);

            }

            public void setValue(int value){

                super.setValue(2 * value);

            }

        }

    }

    相关文章

      网友评论

          本文标题:继承类的容易出错的基础题

          本文链接:https://www.haomeiwen.com/subject/epwfsftx.html