200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > java静态代码块 静态方法 静态变量 构造代码块 普通代码块 成员变量执行顺序

java静态代码块 静态方法 静态变量 构造代码块 普通代码块 成员变量执行顺序

时间:2020-09-26 14:21:09

相关推荐

java静态代码块 静态方法 静态变量 构造代码块 普通代码块 成员变量执行顺序

package smartt.styy.auth.model.voRsp;public class Test {static {String test5="555";//局部变量test2 ="2222222";//System.out.println("此处的test2可以在static块中赋值,但不能调用:"+test2);System.out.println("静态代码块:"+test5);}public static final String test1="111"; //常量public static String test2="222"; //静态变量public String test3="333"; //成员变量public void ok(){String test4="4444"; //局部变量System.out.println("普通方法加载:"+test4);}//静态属性是先于代码块加载的//静态代码块//构造代码块{test2 ="111111";System.out.println("构造代码块:"+test2);}public static void main(String[] args){Test te =new Test();te.ok();}}

输出结果:

静态代码块:555构造代码块:111111普通方法加载:4444

执行顺序:

1、类内容(静态变量、静态初始化块) => 实例内容(变量、初始化块、构造器)

2、父类的(静态变量、静态初始化块)=>子类的(静态变量、静态初始化块)=> 父类的(变量、初始化块、构造器)=> 子类的(变量、初始化块、构造器)

初始化块可以对在它之后定义的变量赋值,但不能访问(如打印)。

变量最终值:一个变量,若显示初始化、初始化块对该变量赋值、构造方法对该变量赋值同时存在,则变量最终值如何确定:

1、按执行顺序

2、若对变量赋值的初始化块在变量定义前时:若变量显示初始化了则最终为显示初始化值,否则为初始化块的赋值。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。