java中域的初始化,静态块和构造器的例子(考验一下初学者对于java的理解程度)

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 = "静态变量:静态块赋值";
 }

 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);
 }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值