package day01;
class Base{
int j; //1.j=0
Base(){
add(1); //2.调用子类add()方法
System.out.println(j); //4,父类j=0,打印0
}
public void add(int i) {
j=j+1;
}
}
class MyBase extends Base{
int j=5; //5,j=5
MyBase(){
System.out.println(j); //打印5
}
public void add(int i) {
j=j+i+1;
System.out.println(j); //3, 此时子类j还没显示初始化,默认值0,j=2,打印2
}
}
public class Tester {
public static void main(String[] args) {
new MyBase();
}
}

2
0
5

但是当稍微改变下时,

package day01;
class Base{
public int j; //1.j=0
Base(){
add(1); //2.调用子类add()方法
System.out.println(j); //4,这里为什么打印2,不该是0吗?why?
}
public void add(int i) {
j=j+1;
}
}
class MyBase extends Base{ MyBase(){
System.out.println(j);
}
public void add(int i) {
j=j+i+1;
System.out.println(j); //3, 此时子类j还没显示初始化,默认值0,j=2,打印2
}
}
public class Tester {
public static void main(String[] args) {
new MyBase();
}
}
/* 2
* 2
* 2
*/

最新文章

  1. tips of my ubuntu 16.04 LTS
  2. 开发Portlet第三步:如何在Crystal Portlet中调用远程服务?
  3. 跳转至指定ViewController
  4. NOIP200301乒乓球
  5. 传话游戏—C++
  6. sqoop的安装和使用
  7. adb 获取手机值
  8. iOS第三方库
  9. ActionBar之style出现Cannot resolve symbol 'Theme' 错误
  10. spring学习总结一----控制反转与依赖注入
  11. JavaScript命令模式
  12. js利用闭包封装自定义模块的几种方法
  13. NodeJS脚本启动工具总结
  14. 【ShaderToy】抗锯齿相关函数
  15. qt程序编译错误:could not exec ‘/usr/lib/x86_64-linux-gnu/qt4/bin/qmake’
  16. docker 安装软件
  17. Miller_Rabin整理笔记
  18. 鼠标增强软件StrokeIt使用方法
  19. #20155319 2016-2017-2 《Java程序设计》第3周学习总结
  20. VC++为你的程序增加内存泄露检测

热门文章

  1. 【Codeforces Round #239 (Div. 1) B】 Long Path
  2. 去掉vs2010字符串下红色波浪线
  3. [React] Implement a Higher Order Component with Render Props
  4. apache kafka监控系列-KafkaOffsetMonitor
  5. 78.Nodejs基础中间件Connect
  6. BZOJ 1598 第k短路
  7. css3 实现动画效果
  8. selenium+python 安装使用
  9. Copying GC (Part two :Multi Space Copying GC)
  10. python 爬虫使用