建立对象的实质

import java.lang.*;
public class human

{
   public static void main(String[] para)
   {
      person CYH;            //定义对象变量
      CYH = new person();    //构造对象实体  
      CYH.name = "microcyh"; //设定名字
      CYH.tall = 183.2;      //设定身高
      CYH.weight = 70.5;     //设定体重
      System.out.println("CYH.name = " + CYH.name );
      System.out.println("CYH.tall = " + CYH.tall );
      System.out.println("CYH.weight = " + CYH.weight );
      CYH.sayYO();
     }

}

//声明一个代表“人类”的 person 类
class person
{
   String name;     //名字
   double tall;     //身高
   double weight;   //体重
   public void sayYO()
   {
     System.out.println( name + ": 有!");
   }
}
 

之前总以为,当建立一个如 person lili = new person();就把Lili想成是在内存里的一块含有名字,身高等的一块地方,所以总不明白为什么可以直接把2个对象变量用等号连起来。而原来,实质上,这里涉及的是定义“对象变量”与构造“对象实体”2个过程,当定义了lili对象变量时,在内存里配置给lili的空间只是存放某个对象实体的参考值,即地址,本来想在这里插入内存图的,但不会。。。。。而在lili = new person();这里,他构造了该对象变量可参考的实体,并传回了该对象实体的“参考值”,即lili这个对象变量(我觉得相当于指针)就指向了一个有name,tall,weight这些属性的一块内存,(还是不会在博文里花内存图),所以自然而然我们是可以改变“对象”所参考的实体了。

其实自己觉得,自己弄清楚了这一点,确实解决了自己之前的很多困惑,不再是把对象变量与对象实体这两个概念等同在了一起,所以,很多时候,真的是要从内存上去理解程序,我感觉就会很透彻。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值