Java中对象的引用[关闭]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中对象的引用[关闭]相关的知识,希望对你有一定的参考价值。

我是Java新手。在此代码片段中,为什么 - if(t.canRecord == true) - 当为Object时,只存储引用并且不覆盖现有值。

class TapeDeck 
{
  boolean canRecord = false;

  void playTape() 
  {
    System.out.println("tape playing");
  }

  void recordTape() 
  {
    System.out.println("tape recording");
  }
}

class TapeDeckTestDrive 
{
  public static void main(String [] args) 
  {
    TapeDeck t=new TapeDeck();
    t.canRecord = true;
    t.playTape();
    if (t.canRecord == true) 
    {
      t.recordTape();
    }
  }
}
答案
  • 在static main方法中,您将创建TapeDeck的新实例。对于此实例,canRecordis的值设置为false
  • 由于canRecord未设置为私人可见性,因此您可以通过t.canRecord直接访问它。通过t.canRecord = true你不是压倒性的,而是用false覆盖true的现有价值。
  • if-条件评估为trueas(i)t.canRecordtrue和(ii)与true中的trueresults的比较。

以上是关于Java中对象的引用[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法关闭代码片段中的命名建议?

设计:Java 和在 setter 方法中返回自引用 [关闭]

片段对话框对活动的松散引用

Java - 创建类关闭时是否会破坏对象引用?

无法设置 ListView 的适配器,因为 ListView 有一个空对象引用

JAVA中对象创建和初始化过程