说明:包含main()方法的类中包含有static类,static类先初始化
class Bowl1 {
Bowl1(int marker) {
System.out.println("Bowl(" + marker + ")");
}
void f1(int marker) {
System.out.println("f1(" +marker + ")");
}
}
class Table1 {
static Bowl1 bow1 = new Bowl1(1);
Table1() {
System.out.println("Table1()");
bowl2.f1(1);
}
void f2(int marker) {
System.out.println("f2(" + marker + ")");
}
static Bowl1 bowl2 = new Bowl1(2);
}
class Cupboard1 {
Bowl1 bowl3 = new Bowl1(3);
static Bowl1 bowl4=new Bowl1(4);
Cupboard1() {
System.out.println("Cupboard1()");
bowl4.f1(2);
}
void f3(int marker) {
System.out.println("f3(" + marker + ")");
}
static Bowl1 bowl5 = new Bowl1(5);
}
public class StaticInitialzation {
public static void main(String[] args){
System.out.println("Creating new CupBoard1() in main");
new Cupboard1();
System.out.println("Creating new CupBoard1() in main");
new Cupboard1();
table.f2(1);
Cupboard.f3(1);
}
static Table1 table = new Table1();
static Cupboard1 Cupboard = new Cupboard1();
}
结果:
Bowl(1)
Bowl(2)
Table1()
f1(1)
Bowl(4)
Bowl(5)
Bowl(3)
Cupboard1()
f1(2)
Creating new CupBoard1() in main
Bowl(3)
Cupboard1()
f1(2)
Creating new CupBoard1() in main
Bowl(3)
Cupboard1()
f1(2)
f2(1)
f3(1)
class B1 {
void f(){
System.out.println(1);
}
}
class A1 {
static B1 b;
static {
b=new B1();
}
A1(){
System.out.print("a");
}
}
public class StaticInitialzation {
public static void main(String args[]) {
A1.b.f();
}
}
静态初始化只有在必要时刻才会进行(不是说会自动初始化所有类中的静态变量或者静态块):
1.当第一引用类中的static变量时,所有的static变量和static块都会被初始化,类本身不会初始化(A1没有初始化)
2.创建类(B1)
分享到:
相关推荐
VB 数组的初始化实例 VB 数组的初始化实例 VB 数组的初始化实例
主要介绍了C#中结构(struct)的部分初始化和完全初始化,通过实例分析了结构初始化中常见的错误及技巧,有助于加深对C#结构(struct)的认识,需要的朋友可以参考下
安装部署DM前必看(第三章),能避免躺坑,有的小伙伴,有的坑一躺就是躺了好几年……
4-4python中初始化实例属性.pdf
在这里和大家分享一个PIC16F690时钟初始化的程序。
本文以一个实例简单实现了类的创建与初始化,实现代码如下所示: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace C_program_test { class Person { public ...
Struts2中实现web应用的初始化实例详解 在JavsSE中,main方法为应用提供了入口,而在Android中,我们可以使用Application对于整个应用的生命周期进行管理,那么在基于Struts2的JavaEE应用中,如何实现类似的功能呢。...
ts-class-initializable 一个小助手,用于从纯对象启用类实例属性的初始化。 扩展一个Initializable类,您的类构造函数将接受一... // 'foobar'班级有几种口味: Initializable :构造函数需要一个普通对象来初始化实例
1. 接口描述 2. 输入参数 3. 输出参数 4. 错误码表 5. 示例
主要介绍了Python实现子类调用父类的初始化实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
今天小编就为大家分享一篇在django-xadmin中APScheduler的启动初始化实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
实例22 数组初始化 实例23 数组应用 实例24 函数的值调用 实例25 函数的引用调用 实例26 数组函数的调用 实例27 命令行变元 实例28 函数的返回值 实例29 函数的嵌套调用 实例30 函数的递归调用 实例31 局部和全局...
主要介绍了thinkPHP模型初始化的方法,结合实例形式分析了thinkPHP模型初始化及数据库操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
实例初始化过程:实例初始化就是执行()方法:()方法可能重载有多个,有几个构造器就有几个方法()方法由非静态实例