java中经常有一些静态块,这是用来在生成类之前进行的初始化,无论java还C++语言中的static,都是最先初始化好的。结构如下:? static {? 静态语句代码块? }? {? 非静态语句代码块? }? 异同点? 相同点:都...
分类:
其他好文 时间:
2015-08-11 19:27:30
阅读次数:
123
public class B
{
public static B t1 = new B();
public static B t2 = new B();
{
System.out.println("构造块");
}
static
{
System.out.println("静态块");
}
public...
分类:
编程语言 时间:
2015-08-09 12:43:51
阅读次数:
153
在《Core java 2: volumn 1, Edition 5》一书的第四章“对象与类”中讲到域赋值语句、实例块、静态块及构造方法等在创建类实例时的执行顺序,中文译本有些处翻译的不贴切,而英文原书中也有一处错误。本文通过一个小程序来说明类实例构造过程中的语句执行顺序。程序如下:public c...
分类:
其他好文 时间:
2015-08-06 14:48:17
阅读次数:
88
上一篇static关键字,自认为比较详细了。不懂的可以留言。下面接着讲:静态最终成员变量:就是同时被final和static修饰的类的成员变量。其跟仅用final修饰的成员变量类似。除了可以在定义或者说在首次声明的时初始化,只能在静态块中初始化。(大家注意我用绿色标记出来的一句..
分类:
其他好文 时间:
2015-07-01 06:24:38
阅读次数:
129
上一篇static关键字,自认为比较详细了。不懂的可以留言。下面接着讲:静态最终成员变量:就是同时被final和static修饰的类的成员变量。其跟仅用final修饰的成员变量类似。除了可以在定义或者说在首次声明的时初始化,只能在静态块中初始化。(大家注意我用绿色标记出来的一句..
分类:
其他好文 时间:
2015-07-01 06:22:54
阅读次数:
136
让一段程序在main方法之前之前我们都知道很简单,用static静态块就可以
但是要让一个东西在main结束之后执行(不考虑新开启一个线程的情况。。。)
这里要从java的回收机制出发,因为如果只有main这一个线程的话,在main结束之后就意味着整个程序结束了
那就得考虑让程序结束之后还可以干点事
或者是说成是 我的程序“结束”之后,给java虚拟机留点事情
实现方...
分类:
其他好文 时间:
2015-03-21 14:05:02
阅读次数:
109
子类继承父类,当实例化子类对象时,执行顺序如下:父类层级静态块 自身静态块父类块 父类构造器自身块 自身构造器 由于继承,肯定应该先加载父类再加载子类,加载类自然会调用静态块,然后是调用父类的构造函数和子类的构造函数,不过构造函数调用前肯定要先调用域或块,这样才能正确创建对象。·········.....
分类:
编程语言 时间:
2015-03-08 15:44:00
阅读次数:
242
前面理解过java实例变量的初始化规则 朝花夕拾——看清java实例变量的初始化内幕
今天继续理清类变量的初始化顺序和细节,需要的朋友可以一起温习下。
类变量的初始化和实例变量的初始化很相似,相比实例变量初始化,少了构造器初始化的情况。大致只有:定义类变量时初始化和静态块中初始化两种情况。
规则:上述两种情况下,先对所有类变量进行申明并申请内存,在把赋值操作全部移动到静态块中进行初始化,顺序...
分类:
编程语言 时间:
2015-02-02 12:37:24
阅读次数:
182
Java 对象创建过程 在某些项目中,会使用到静态块,构造器中初始化其他对象。。。深刻理解了java类初始化过程,这些将不在是问题。那java对象的步骤是什么呢?假设现在有People类,未显示继承任何其他类,初始化过程是这样的。1 java 解释器必须查找类路径,以定位People.class.....
分类:
编程语言 时间:
2015-01-31 23:09:12
阅读次数:
259
修饰符的使用
1.static :静态修饰符 可以修饰 方法 属性 内部类 代码块
属性
凡是使用static修饰的内容,所有者是整个类(被所有类产生的对象共享)
加载的过程:
在类的加载过程中,静态属性常驻内存(不需要new ,就能开辟存储的空间)
方法
静态块:初始代码块,该代码块只在类加载的时候被执行一次(主要用于静态属性的初值的设定...
分类:
编程语言 时间:
2015-01-19 12:53:24
阅读次数:
223