一个困惑我好久的问题

下面代码:

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。

时间: 2024-11-15 07:00:49

一个困惑我好久的问题的相关文章

初次运用myeclipse开发服务器应用程序会遇到的一个困惑J2EE

一.J2EE是什么(橘色部分是必须了解的部分,目前项目中用到了) J2EE是建立在Java 2平台上的企业级应用的解决方案.目前,Java 2平台有3个版本: (1)适用于小型设备和智能卡的Java 2平台Micro版(J2ME)Java 2 Platform Micro Edition: (2)适用于桌面系统的Java 2平台标准版(J2SE)Java 2 Platform Standard Edition: (3)适用于创建服务器应用程序和服务的Java 2平台企业版(J2EE)Java 2

jqueryEasyUI form表单提交的一个困惑

今天用到了jqueryEasyUI的form表单做一个增加操作的提交,想打开调试(用的是火狐)看看传的参数,但是怎么也看不到form表单提交的http请求?而且还会发送一个另外的请求! 在页面加载时,会首先初始化一个datagrid,然后可以选择是否选择添加操作.另外发送的这个请求,就是这个datagrid想后台请求数据的请求.就相当与重新刷新了datagrid. datagrid请求数据库数据的操作写在$(function(){})里面,后来想想,是不是这个原因,jqueryEasyUI的fo

《费马大定理-一个困惑了世间智者358年的迷》摘录

哲学家这个词(philosopher)是由毕达哥拉斯撰造出来的.在一个次奥林匹亚运动会上,毕达哥拉斯向弗利尤斯的利昂王子描他自己为哲学家:“利昂王子,生活好比这些公开的竞技会.在这里聚集的一大群人中,有些人受奖励物的诱惑而来,另一些人则因对名誉和荣耀的企求和受野心的驱使而来,但他们中间也有少数人来这里是为了观察和理解这里发生的一切. 生活同样如此.有些人因爱好财富而被左右,另一些人则因热衷于权力和支配而盲从,但是最优秀的一类人则献身于发现生活本身的意义和目的.他设法揭示自然的奥秘.这就是我称之为

ASP.NET MVC5的一个轻量级的框架学习的第一天

第二步第三部 这是第一天的小试成功,怪自己太笨了,一个错排查好久,还好有源码看着了解,后续还得多努力,

面对技术海洋,如何选择一个属于自己的技术方向?

最近很纠结一个问题:是要暂且放下越写越喜欢的JAVA去学习IOS还是不学IOS只是专注于JAVA. JAVA学了一年多了,也越学越上手了,可是买了MACBOOK不学IOS还真有点不舍得. 几天无意间看到了这个帖子终于发下了自己的问题的答案: 面对技术海洋,如何选择一个属于自己的技术方向? 相信很多工作一两年的人都有一个困惑,自己写了不长时间的代码做了一些东西但是都不精通,面对各种层出不穷的技术方向不知道如何选择.我就是其中的一员困惑者.希望发起一场讨论看看大家的看法和意见以抛砖引玉. 我的观点有

简单做了一个blog首页

/* html部分 */<!DOCTYPE html> <html> <head> <title>我的博客</title> <link rel="stylesheet" type="text/css" href="myblog.css"> </head> <body> <div id="container"> <d

一个注意事项:内部类引用的外部变量必须是final的

之前写过一个项目,好久没更新了,最近翻起以前的代码,发现在这里报了一个错.(现在转到Intellij了,从前在Eclipse luna中是可以编译通过的,Eclipse mars也会报错,JDK版本都是1.8,还没去查为什么) 为什么在内部类中引用外部变量时,必须声明为final呢? 最开始我想的是,会和Java的内存模型有关.因为我们都知道,带有static的变量或者方法是属于类的,也就是说,类成员是被储存在堆内存里面的.那么final是否也是这样?经过查找资料,得知:final 是保护 所修

说说我的困惑

我困惑的是,我应该做什么? 首先,我想得先从我的性格说起,我的性格比较中庸,不会太偏执,不会认为这个是最好的,不会去鄙视那个东西,我感觉什么都是好的,我经常这样对自己说,这个世界如此奇妙,要有一颗好奇的心,去探索这个世界.这直接给我造成的一个困惑就是:目标不明确,只广不深! 这也在我的工作中体现出来,现在我负责的工作就是处于一个不高不低,不上不下的地位.要你深入到计算机底层吧,你做不来,基本的操作系统都没掌握,基本的网络原理你都不懂,怎么做?要你做WEB开发吧,你CSS/JS只知道个皮毛,精美的

C语言-对一个结构体中的字段进行排序

这是帮别人做的一个题目,好久没有接触过C语言了.有点发怵,只是似乎找回点当时学C语言,做课程设计的感觉. 题目:定义一个数组(学生结构体数组),里面包括学号.姓名.身份证和三科学生成绩.要求写一个函数,依据学生不论什么一个字段(如学号.姓名.身份证),进行排序. 源代码: //// stu.cpp : Defines the entry point for the console application. //// // #include "stdafx.h" //----------