static静态数据的初始化

package com.demo.book;

public class StaticInitialization
{
    static Table table = new Table();
    static Cupboard cupboard = new Cupboard();
    
    public static void main(String[] args)
    {
        new Cupboard();
        
        new Cupboard();
        
        table.f2(3);
        
        cupboard.f3(1);
    }
}


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

class Table
{
   static Bowl bowl1 = new Bowl(1);
   static Bowl bowl2 = new Bowl(2);
   
   Table()
   {
       System.out.println("Table()");
       bowl2.f1(1);
   }
   
   void f2(int marker)
   {
       System.out.println("f2(" + marker + ")");
   }
}

class Cupboard
{
    Bowl bowl3 = new Bowl(3);
    static Bowl bowl4 = new Bowl(4);
    
    Cupboard()
    {
        System.out.println("Cupboard()");
        bowl4.f1(2);
    }
    
    void f3(int marker)
    {
        System.out.println("f3(" + marker + ")");
    }
    
    static Bowl bowl5 = new Bowl(5);
}
View Code
原文地址:https://www.cnblogs.com/feiguo/p/3898446.html