A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 张云飞 于 2013-9-17 16:28 编辑

先看一个代码例子(如果感觉有点乱的话,建议自己边思考边自己写着玩):
  1. class Fruit{
  2.         public static String Fruit_name = "Fruit静态变量";        
  3.         public String color = "Fruit非静态变量";
  4.         static{
  5.                 System.out.println(Fruit_name);        //若将Fruit_name的初始化放在static程序块后边,则编译错误,说明static成员变量及代码块级别相同,只看向后顺序
  6.                 //System.out.println(color);        //此时color还未初始化
  7.                 System.out.println("Fruit的Static程序块");
  8.         }
  9.         
  10.         public Fruit(){
  11.                 System.out.println("Fruit()");
  12.         }
  13.         
  14.         {                                                                        //虽然在构造函数后边,却先执行
  15.                 System.out.println("---------------");
  16.                 System.out.println(color);
  17.                 System.out.println("Fruit非Static程序块");
  18.         }
  19. }
  20. public class Apple extends Fruit{
  21.         public static String apple_name = "appale静态变量";
  22.         public String apple_color = "Apple非静态变量";
  23.         static{
  24.                 System.out.println(apple_name);
  25.                 //System.out.println(apple_color);        //此时apple_color还未初始化
  26.                 System.out.println("Apple的Static程序块");
  27.         }
  28.         {
  29.                 System.out.println("---------------");
  30.                 System.out.println(apple_color);
  31.                 System.out.println("Apple非Static程序块");
  32.         }
  33.         public Apple(){
  34.                 System.out.println("appale()");
  35.         }
  36.         public static void main(String args[]){
  37.                 new Apple();
  38.         }
  39. }
复制代码
初始化次顺序为:
1、父类静态成员变量和静态代码块(看代码中向后顺序执行) --> 子类静态成员变量和静态代码块(看代码中向后顺序执行)
2、父类非静态成员变量和非静态代码块(看代码中向后顺序执行) --> 父类构造方法
3、子类非静态成员变量和非静态代码块(看代码中向后顺序执行) --> 子类构造方法

建议按照自己的思路重新编写一下代码,理解更清楚。









评分

参与人数 1技术分 +1 收起 理由
田磊阳 + 1

查看全部评分

1 个回复

正序浏览
值得学习ing!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马