Java基本语法问题

2025-02-26 22:22:34
推荐回答(1个)
回答1:

依照个人之理解, 其实都只是记忆体操作上的认知问题, 是同一件事.


创建对象的时候, 实际上是跟系统索取记忆体空间, 配置成类结构, 并进行预设行为. 而对象名, 则是一个位址参考, 保存了经过配置的空间地址. 此後所有操作行为, 都将以对象名, 依照类定义而运作.


你可以这样想像, 书柜(记忆体)中有一排书(大约十本), 其中第三到第五, 是一个系列(构造取得空间). 你会以该系列名称(参考)对其他人做, 说明/介绍/指称 (即程序中引用). 即便不称呼该系列名称, 也必须告知为第几本书(记忆体位置). 由於程序编写期间, 无法得知执行期系统配置的实际位置, 所以必定需要一个参考(以间接定义)来保存记忆体(位址, 实际物件), 才得以引用(呼叫). (全部变量都是一样的概念)


  1. string物件, 依据其操作行为之定义, 其功能都是基於复制/新建, 所以不存在修改一说. 叙述句可解释为 a为一个string物件, 内容复制自"ABC"字串.
    * 行为无法修改, 不代表是虚的引用, 是类行为已做限制.
    * 程序中的"ABC", 在执行期是一不可修改的字符串. 与a string物件是不同两个.
    * new string("ABC") 配置出的实体, 同等於 a string; 是同一个.
      new string, 从"ABC"复制出一个string物件, 以a作为其参考.

  2. int[] b, 可视为, 定义b为数组物件, new int[10], 是向系统取得记忆体, 产生可使用之数组物件; 此叙述句, 将产生的数组物件之参考存於b(存取名称之定义, 否则程序无法引用). b采下标操作, 为int[]物件本身所拥有之操作能力.