zoukankan      html  css  js  c++  java
  • java初始化过程中成员变量

    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 
    */
  • 相关阅读:
    mmap函数实现
    linux交换空间
    日志式文件系统
    Linux内核书籍
    进程状态
    form表单中enctype="multipart/form-data"的作用
    php导入excel表格
    什么是隐藏域
    把生成的excel文件直接提供为下载页效果
    到底什么是实例化
  • 原文地址:https://www.cnblogs.com/xurui1995/p/5610814.html
Copyright © 2011-2022 走看看