如下所示:
class B {
public B() {
super();
System.out.println("构造器B");
}
{
System.out.println("普通的代码块B");
}
static{
System.out.println("静态代码块B");
}
}
public class ClassA extends B {
public ClassA() {
super();
System.out.println("构造器A");
}
{
System.out.println("普通的代码块A");
}
static{
System.out.println("静态代码块A");
}
public static void main(String[] args) {
ClassA a=new ClassA();
}
}
运行结果如下:
静态代码块B
静态代码块A
普通的代码块B
构造器B
普通的代码块A
构造器A
可以看到静态代码块被优先执行,然后是父类的普通代码块,父类构造器,然后才是子类的普通代码块,子类构造器
如下所示:classB{publicB(){super();Systemoutprintln("构造器B");}{Systemoutprintln("普通的代码块B");}static{Systemo
测试代码publicclassSingleTest{publicstaticStringv"StaticValue";static{Systemoutprintln("static静态变量:"+v);
一般情况下,如果有些代码必须在项目启动的时候就执行,需要使用静态代码块。这种代码是主动执行的,需要在项目启动的时候就初始化。有些代码是在不创建对象的情况下,由其他程序来调用,需要使用静态方法。这种代码
一、静态代码块1在java类中(方法中不能存在静态代码块)使用static关键字和{}声明的代码块:publicclassCodeBlock{static{Systemoutprintln(静态代码块
直接上代码吧!!!classPerson{privateStringname;privatebooleangender;privateintage;privateintid;staticintcoun
Java中普通代码块,构造代码块,静态代码块区别及代码示例//执行顺序:(优先级从高到低。)静态代码块>mian方法>构造代码块>构造方法。其中静态代码块只执行一次。构造代码块在每
原文转载自:http://wwwcnblogscom/sophine/p/3531282html镜像博文:http://wwwcnblogscom/DreamDrive/p/5422705htmlht
java代码块与静态代码块加载顺序publicabstractclassClassLoadingTest{publicstaticvoidmain(String[]args){Useruser3ne
//执行顺序:(优先级从高到低。)静态代码块>mian方法>构造代码块>构造方法。其中静态代码块只执行一次。构造代码块在每次创建对象是都会执行。1普通代码块publicstatic
静态代码块的使用:示例一:publicclassStaticTest03{static{Systemoutprintln(A);}static{Systemoutprintln(B);}public