您的位置:首页 > 编程语言 > Java开发

java中的静态块static{}及this,super,final的用法总结

2009-06-16 21:49 561 查看
Code
public class TestSquence {

public static void main(String[] args) {
/*
* 给初学者的问题:把下面两行中的一行分别注释掉,输出结果会有什么变化?
*/
//String temp = TQExample.s_a;
TQExample test = new TQExample();
}

}

class TQExample {
/*
* 这个例子就想测试一下成员变量初始化的顺序,下面的域变量 的访问控制符一般不建议在实际开发中使用
*/

public static String s_a = "静态变量:直接赋值";

public String n_b = "非静态变量:直接赋值";

public final int nf_i;
public final String nf_s = "我是final对象,直接赋值";
static {
System.out.println(s_a);

s_a = "静态变量:静态块赋值";
}
static//静态块可以有多个。
{
System.out.println("s_a");

//s_a = "静态变量:静态块赋值";
}

public TQExample() {
System.out.println(s_a);
System.out.println(n_b);

//静态变量
s_a = "静态变量:构造器赋值";
//非静态变量
n_b = "非静态变量:构造器赋值";
//final变量
nf_i = 1;//注释这行然后在外面打印它看看看看,会对java的自动赋值有一个更具体的感性认识.
//nf_s = "我是final对象,构造器赋值";//这行是错误的,建议你试试.

System.out.println(s_a);
System.out.println(n_b);
System.out.println(nf_s);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: