學習筆記:java初始化順序

原创 2004年10月22日 13:49:00

class Bowl {
    Bowl(int marker) {
        System.out.println("Bowl(" + marker + ")");
    }

    void f1() {
        System.out.println("Ok,QQ: 12953091");
    }
}

class Cupboard {
    Bowl b1 = new Bowl(1);

    static Bowl b2 = new Bowl(2);

    Cupboard() {
        System.out.println("Cupboard()");
    }

    static Bowl b3 = new Bowl(3);
}

class Table {
    Table() {
        System.out.println("Table()"+1048155)
}
Table(String a,int i){
        this();
        System.out.println("Ok"+23387612);
        }
}

public class Order {
    static Cupboard t1 = new Cupboard();

    static Table t2;

    Bowl t3 = new Bowl(10);

    void print() {
        t3.f1();
    }

    public static void main(String[] args) {
        System.out.println("Creating new Cupboard() in main");
        new Cupboard();
        System.out.println("Creating new Cupboard() in main");
        Order od = new Order();
        od.t3.f1();
        Table t4 = new Table("aa",1);
    }
}

程序運行時:裝載Order.class,運行Order類中的static塊
   static Cupboard t1 = new Cupboard();
這構造了一個Cupboard對象,構造對象時,會裝載Cupboard類,
也是先執行static塊
static Bowl b2 = new Bowl(2);//創建一個Bowl對象,過程和Cupboard一樣,會調用構造函數
static Bowl b3 = new Bowl(3);//同上
然後執行
 Bowl b1 = new Bowl(1);//創建一個Bowl對象
然後執行構造函數Bowl()

接下來:
    static Table t2;//這只是聲明,並沒有創建對象,不用理會
然後:
    執行main函數中的語句
     System.out.println("Creating new Cupboard() in main");
        new Cupboard();  //注意的是,static只會初始化一次
        System.out.println("Creating new Cupboard() in main");
       Order od = new Order();//創建Order對象,同上
     od.t3.f1();
        Table t4 = new Table("aa",1);//創建了Table,注意這裡構造函數的調用this()就可以(需要了解重載)

myBatis学习笔记(1)——快速入门

在项目中使用myBatis 导入jar包 在src下创建配置文件
  • u010837612
  • u010837612
  • 2015年05月12日 11:06
  • 936

學習筆記壹

C/C++學習筆記:不好取名字,所以用學習筆記代替! 關於main()函數的參數問題,這個問題,是在我將自己電腦的C語言編程環境換成了命令行之後發現的問題(Windows下的命令行版gcc,我也是無...
  • SparkRat
  • SparkRat
  • 2015年04月18日 11:27
  • 237

BPM學習筆記

遇到簽核斷流時: 登陸:http://oaweb.mic.com.tw/servicebpm/org.asmx  通過unitID查詢找到GetBossAttributeFromUnit,然後...
  • byondocean
  • byondocean
  • 2010年12月15日 09:43
  • 443

XML學習筆記

     公司裏面的系統用到了XML,我暈了好一陣子,不知道怎麽學?在網上泡阿泡,將找到的文章摘抄下來,以供日後琢磨:       什么是名称空间        XML把名称空间定义为包装XML元素在...
  • Howard_29
  • Howard_29
  • 2005年09月30日 14:21
  • 1205

C#學習筆記

  1 A.类:  2 ● 类与类的使用:  3 class A{  4 public int wheels; //公有成员  5 protected float weight; //保护成员  6 ...
  • cfhacker007
  • cfhacker007
  • 2007年12月04日 09:41
  • 499

ZK學習筆記

因工作需要,正在學習有關ZK FrameWork開發框架,其中可能會有一些心得體會,以此博客記錄在此.便於備查. P.S 正在學習的ZK FrameWork是公司在原來的ZK框架上做了封裝,多包裝了...
  • vnsoft
  • vnsoft
  • 2012年05月10日 13:38
  • 2136

Qt4 學習筆記

新完成的Qt4學習筆記…http://caterpillar.onlyfun.net/Gossip/Qt4Gossip/Qt4Gossip.html
  • caterpillar_here
  • caterpillar_here
  • 2008年05月04日 22:47
  • 2073

jQuery學習筆記

环境搭建 1.    下载jQuery文件库 在jQuery的官方网站(http://jquery.com)中,下载最新版本的jQuery文件库。 1.    引入jQuery文件库 下载完jQuer...
  • xiaoshi178488920
  • xiaoshi178488920
  • 2015年03月30日 17:03
  • 358

NCL學習筆記

NCL學習筆記
  • ssy8stephy
  • ssy8stephy
  • 2016年03月30日 12:35
  • 860

WRF學習筆記

安裝好WRF後,首先去WPS中修改namelist.wps文件 文件中各參數的意思如下: ----in share---- wrf_core可以選擇ARW或NMM max_dom表示domain的數量...
  • ssy8stephy
  • ssy8stephy
  • 2016年12月22日 15:01
  • 551
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:學習筆記:java初始化順序
举报原因:
原因补充:

(最多只允许输入30个字)