zoukankan      html  css  js  c++  java
  • 一个困惑我好久的问题

      下面代码:

    package com.lk.C;
    
    public class Test5 {
        public static void main(String[] args) {
            go(new MyBase());
        }
        static void go(Base b){
            b.add(8);
        }
    }
    class Base{
        int i;
        Base(){
            add(1);
            System.out.println(i);
        }
        void add(int v){
            i = i+v;
            System.out.println(i);
        }
        void print(){
            System.out.println(i);
        }
    }
    
    class MyBase extends Base{
        MyBase(){
            add(2);
        }
        void add(int v){
            i += v*2;
            System.out.println(i);
        }
    }
    2
    2
    6
    22

      Java新手一枚,望有人解答:

      我调试了一下,走的顺序:当走父类的构造函数内的add(1)方法时,为什么不是调用父类的add()方法,而调用了子类的add()方法?因此第一个输出是2。

  • 相关阅读:
    日历
    复数的运算
    大数的计算
    poj 1562
    POJ 1002
    利用正则表达式检测违禁字
    js实现一个闹钟
    jQuery实现五星好评
    jquery实现计算器功能
    横向轮播图
  • 原文地址:https://www.cnblogs.com/luankun0214/p/4420976.html
Copyright © 2011-2022 走看看