首页 > 编程语言 >Java实例化静态字段及静态块

Java实例化静态字段及静态块

时间:2022-11-08 08:56:46浏览次数:37  
标签:Java Cup 静态 System 字段 static marker new Cups

首先,示例来自Bruce Eckel的《On Java》:

// housekeeping/ExplicitStatic.java
// (c)2021 MindView LLC: see Copyright.txt
// We make no guarantees that this code is fit for any purpose.
// Visit http://OnJava8.com for more book information.
// Explicit static initialization with "static" clause

class Cup {
  Cup(int marker) {
    System.out.println("Cup(" + marker + ")");
  }
  void f(int marker) {
    System.out.println("f(" + marker + ")");
  }
}

class Cups {
  static Cup cup1;
  static Cup cup2;
  
  Cups() {
    System.out.println("Cups()");
  }
  //add new static field
  static Cup cup3 = new Cup(3);
  static {
    cup1 = new Cup(1);
    cup2 = new Cup(2);
  }
}

public class ExplicitStatic {
  public static void main(String[] args) {
    System.out.println("Inside main()");
    Cups.cup1.f(99);                  // [1]
  }
   static Cups cups1 = new Cups();  // [2]
   static Cups cups2 = new Cups();  // [2]
}
/* Output:
// Inside main()
// Cup(1)
// Cup(2)
// f(99)
Cup(3)
Cup(1)
Cup(2)
Cups()
Cups()
Inside main()
f(99)
*/

 说明:按照实例化的语句顺序进行实例化,不是按照定义的顺序。另外,实例化顺序为:先静态->再动态->再构造函数,这样顺序进行。

标签:Java,Cup,静态,System,字段,static,marker,new,Cups
From: https://www.cnblogs.com/jizhong/p/16868496.html

相关文章

  • JAVA笔记
    inti=10;i++;//单独使用System.out.println("i:"+i);//i:11intj=10;++j;//单独使用System.out.println("j:"+j);//j:11intx=10;inty=x++;//赋......
  • Java 线程池之Jetty 线程池学习总结
    Java线程池之Jetty线程池学习总结前提Jetty11.0.x为什么是Jetty?Java提供4中创建线程池的快捷方式Executors.newFixedThreadPool();Executors.newCachedThreadPoo......
  • 编译型语言、解释型语言、静态类型语言、动态类型语言、强类型语言、弱类型语言
    分类代表语言区别优缺点编译型语言C、C++、Pascal、Object-C以及最近很火的苹果新语言swift把做好的源程序全部编译成二进制代码的可运行程序。然后,可直接运......
  • Head First Java 读书笔记
    第9章:构造器与垃圾收集器什么是栈与堆? 堆(heap)、栈(stack)当Java虚拟机启动时,它会从底层操作系统中取得一块内存,以此区段来执行Java程序。实例变量保存在所属的对象中,位于......
  • java——变量
                            ======================================================================================......
  • idea Java:非法字符:'\ufeff' 的解决
    1、用idea运行项目的时候会遇到:ideaJava:非法字符:'\ufeff'的解决2、为什么会产生这个错误?用notepad++打开这个报错的文件,点击ecoding,我们可以看到这是一个utf-8-bom编......
  • 记一次无法访问到静态页面
       <=    =>      很久没有写博客了这次写是因为碰到了卡我一个小时的问题,如图,静态资源一致不能访问,后来我尝试用了另一种方式   就是......
  • java 多线程买票案例
    packagecom.tedu.threadStudy;publicclassstudyTicket{publicstaticvoidmain(String[]args){YouThreadyouThread=newYouThread();T......
  • Java——基本数据类型
                    注意: 整型(int)常量默认在内存中占32位,是具有整数类型的值,当运算过程中所需值超过32位长度时,可以把它表示为长整......
  • Java的推箱子游戏
    Java的推箱子游戏一、用途1、能满足学习和二次开发,比如实训实验2、可以作为熟悉Java的学习,作为老师阶段性学习的一个成功检验,不再是单调的理解老师空泛的知识,导入就能运行......