java对象初始化的顺序
博客专区 > dgnww3s 的博客 > 博客详情
java对象初始化的顺序
dgnww3s 发表于1年前
java对象初始化的顺序
  • 发表于 1年前
  • 阅读 2
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

Java代码

  1. public class Son extends Father {  
  2.   
  3.     String value = null;//2  
  4.   
  5.     public Son() {  
  6.         super();  //1  
  7.         System.out.println("Son:  " + value);//3  
  8.     }  
  9.   
  10.     public static void main(final String[] args) {  
  11.         new Son();  
  12.     }  
  13. }  
  14.   
  15.   
  16. class Father {  
  17.   
  18.     public Father() {  
  19.         if (this instanceof Son) {  
  20.             Son lower = (Son) this;  
  21.             lower.value = "test";  
  22.         }  
  23.     }  
  24. }  
  25.   
  26.   
  27. class Father {  
  28.   
  29.     public Father() {  
  30.         if (this instanceof Son) {  
  31.             Son lower = (Son) this;  
  32.             lower.value = "test";  
  33.         }  
  34.     }  
  35. }  


下载
这个的结果是 null 
步骤1  设置为test 
步骤2  设置为null 
步骤3 打印出来null 

如果 不是   String value = null ; 只是   String value; 
下载
步骤1  设置为test 
步骤2  不做任何事情,因为已经有值了,不用设置为默认的null值了 
步骤3 打印出来null 


所以  一个字段不设置值 和 设置为null  是有区别的。 

共有 人打赏支持
粉丝 0
博文 2
码字总数 1616
评论 (0)
×
dgnww3s
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: