码迷,mamicode.com
首页 > 其他好文 > 详细

类和对象的初始化顺序

时间:2015-09-11 10:23:15      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:

父类

package com.day06;

public class StaticDemo {
    
    //静态代码块
    int num=3;
    static{
        System.out.println("父类静态代码块 --A");
    }
    
    //构造代码块
    {
        System.out.println("父类构造代码块 ---A  "+this.num);
        
    }

    public StaticDemo(){
        System.out.println("父类构造方法---A");
    }
    public void show(){
        System.out.println("父类普通方法--- A");
    }

}

子类:

package com.day06;

public class StaticDemoB extends StaticDemo {
    //静态代码块
        int num=3;
        static{
            System.out.println("子类静态代码块 B");
        }
        
        //构造代码块
        {
            System.out.println("子类构造代码块 B  "+this.num);
            
        }

        public StaticDemoB(){
            System.out.println("子类构造方法 B" );
        }
        public void show(){
            System.out.println("子类普通方法 B");
        }
}

 

示例一:实例化父类

package com.day06;

public class StaticDemoTest {

    public static void main(String[] args) {
        //new StaticDemo().show();
        StaticDemo sd=new StaticDemo();
        sd.show();
        
    }

}

结果:

父类静态代码块 --A
父类构造代码块 ---A  3
父类构造方法---A
父类普通方法--- A

示例二、实例化子类

package com.day06;

public class StaticDemoTest {

    public static void main(String[] args) {
        //new StaticDemoB().show();
        StaticDemoB sdb=new StaticDemoB();
        sdb.show();
        
    }

}

结果:

父类静态代码块 --A
子类静态代码块 B
父类构造代码块 ---A  3
父类构造方法---A
子类构造代码块 B  3
子类构造方法 B
子类普通方法 B

 

类和对象的初始化顺序

标签:

原文地址:http://www.cnblogs.com/liunanjava/p/4788165.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!