一来般来,静态代码块,在整个系统的生命周期中只执行一次,在构造方法之前执行,动态代码块,在系统中每实例化一次,就执行一次,而且在构造方法执行之前执行。
class
AB {
static
{
System.out.println(
"我来了。。。AB"
);
}
private
static
AB obj =
new
AB();
public
static
int
num1 ;
public
static
int
num2 =
0
;
private
AB() {
System.out.println(
"我来了。。。AB构造函数"
);
num1++;
num2++;
// ystem.out.println(+num1);
// ystem.out.println(+num2);
}
public
static
AB getInstance() {
System.out.println(
"我来了。。。实例"
);
return
obj;
}
}
public
class
CsdnTest {
static
{
System.out.println(
"我来了。。。CsdnTest"
);
}
public
static
void
main(String[] args) {
System.out.println(
"我来了。。。main"
);
AB obj = AB.getInstance();
System.out.println(
"obj.num1="
+ obj.num1);
System.out.println(
"obj.num2="
+ obj.num2);
double
f =
111231.5585
;
BigDecimal b =
new
BigDecimal(f);
double
f1 = b.setScale(
2
, BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println(f1);
}
}