构造代码块、静态代码块与构造方法是三种不同的代码块,那么他们到底有什么区别呢?
一、简单认识一下构造代码块、静态代码块与构造方法
class A
{
//构造代码块
{
System.out.println("构造代码块A");
}
//静态代码块
static
{
System.out.println("静态代码块A");
}
//构造方法
public...
分类:
编程语言 时间:
2015-05-04 06:28:28
阅读次数:
135
一、描述
java中类的静态代码块、构造代码块、构造方法、静态成员的初始化顺序:
首先,在类加载时,为类中的静态成员变量分配内存空间,并为其赋予默认值(整数型为0,浮点型为0.0,布尔型为false,字符型为'\u0000',引用型为null);
其次,执行静态成员变量的显式初始化操作。静态成员的初始化方法有两种,其一为在声明的时候直接初始化,其二为使用静态代码块进行初始化,
这两种...
分类:
编程语言 时间:
2015-04-25 16:44:04
阅读次数:
142
Java静态代码块、构造代码块、构造方法的执行顺序静态代码优先于非静态的代码,是因为被static修饰的成员都是类成员,会随着JVM加载类的时候加载而执行,而没有被static修饰的成员也被称为实例成员,需要创建对象才会随之加载到堆内存。所以静态的会优先非静态的。
执行构造器(构造方法)的时候,在执行方法体之前存在隐式三步:
1,super语句,可能出现以下三种情况:
1)构造方法体的第一行是...
分类:
编程语言 时间:
2015-04-13 00:27:02
阅读次数:
142
class Person { private String name; private int age; { //构造代码块:可以给【所有】对象进行初始化的 //放构造函数里的,共性初始化代码 //执行顺序:1.静态代码块,2.构造代码块,...
分类:
编程语言 时间:
2015-03-10 01:26:19
阅读次数:
136
.静态代码块是在类加载时自动执行的,非静态代码块是在创建对象时自动执行的代码,不创建对象不执行该类的非静态代码块。
且执行顺序为静态代码块------非静态代码块----构造函数。
所谓代码块是指使用“{}”括起来的一段代码。Java有四种代码块,
分别是普通代码块(如方法后大括号中的代码)、构造代码块、静态代码块、同步代码块(与多线程数据安全有关)。
1.静态代码块
使用sta...
分类:
其他好文 时间:
2015-02-10 15:31:05
阅读次数:
101
代码块(理解)
(1)用{}括起来的代码。
(2)分类:
A:局部代码块
用于限定变量的生命周期,及早释放,提高内存利用率。
B:构造代码块
把多个构造方法中相同的代码可以放到这里,每个构造方法执行前,首先执行构造代码块。
C:静态代码块
static{}对类的数据进行初始化,仅仅只执行一次。
(3)静态代码块,构造代码块,构造方法的顺序问题?
...
分类:
编程语言 时间:
2015-01-04 13:41:53
阅读次数:
238
/*==============================又学了新东西============================================== 静态代码块、构造代码块和构造函数的区别 静态代码块:用于给类初始化,类加载时就会被加载执行,作用:用于给类进行初始化,只执行一次。...
分类:
编程语言 时间:
2014-09-11 19:20:42
阅读次数:
169
public class Test{ static int num; static int numObj;//记录有多少个对象产生! static{//静态代码块, 是用来给类进行初始化的! //num = 10; ++num; num *=12...
分类:
其他好文 时间:
2014-07-28 15:03:03
阅读次数:
214