【纯干货】构造方法赋值与直接给成员变量赋值的区别

本文探讨了Java中构造方法赋值和直接给成员变量赋值的区别。无论在哪种方式下,最终赋值操作都会在构造方法中体现,顺序与代码中的顺序保持一致。字节码分析显示,构造方法内的赋值语句总是位于最后,而直接赋值和构造块赋值则会根据代码顺序排列在前。
摘要由CSDN通过智能技术生成

Hello,大家好。
有段时间不见了,最近这阵子有点忙。
我java已经进入复习阶段,所以最近更新频率会高一些。
然后抽出其余的时间去学Android开发和高并发技术。


我想先说几句题外话,java是混合型语言(先编译在解释运行。这俩步骤缺一不可。),我们平常编写的java代码编译后会编译成class文件,然后class文件会被JVM虚拟机解释成机器可以识别的二进制数据然后运行。
所以,不管你的java代码写的到底多么的妖魔鬼怪,JVM只认class文件,所以,最终到底程序是怎么运行的,或者研究一些原理,得看class,得学JVM。
其实这就是分层思想,把代码分层,层层封装。


下面是我的研究代码:

class A{
   

   private String msg="尘封已久的恨意";//直接给成员变量赋值

//   public A(String msg){//构造方法赋值
//
//       this.msg=msg;
//   }


    {
   //构造块赋值

        msg="打扫房间哦i啊但是金佛IP圣诞节发票收据阿萨PDF觉得撒泼覅静安寺粕发酵埃斯珀附件";

    }

   public String getMsg(){
   

       return this.msg;
   }
}


public class Main  {
   

     public static void main(String[] args) {
   

       A a=new A();

         System.out.println(a.getMsg
  • 18
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值