当前位置: 首页 > 知识库问答 >
问题:

需要帮助理解此代码的输出[重复]

夏季萌
2023-03-14
   ...
   public String name;
   public byte age;
   public String breed;

      public String makeNoise()
      {
         return "Woof...";
      }

      public String toString()
      {
         return "Name: " +name +"\n" +"Age: " +age +"\n" +"Breed: " +breed;
      }
      ...
  ...  
  Dog d1 = new Dog();
  d1.name = "Frodo";
  d1.age = 4;
  d1.breed = "Alsatian";

  Dog d2 = new Dog();
  d2.name = "Labby";
  d2.age = 3;
  d2.breed = "Labrador";

  Dog d3 = d2;
  d3.age = 6;
  d3.name = "Mike";


 System.out.println(d1.name);
 System.out.println(d2.age);
 System.out.println(d3.age);
 System.out.println(d2.name);

 System.out.println(d1.age == d2.age);
 System.out.println(d1 == d2);
 System.out.println(d1 == d3);
 System.out.println(d2 == d3);
 ...
System.out.println(d2.age);

共有1个答案

边浩波
2023-03-14

当你做作业的时候

Dog d3 = d2;

您正在将Dog对象的引用从D2变量复制到D3变量。您没有复制该对象

因此,在赋值之后,D3D2都引用同一个Dog对象。因此d3.age=6;导致d2.age6

 类似资料:
  • 我很难理解以下函数的递归工作流程,以及它如何遍历排列排序数组。 让我感到困惑的一件特别的事情是“返回[nums[:]]”调用在递归函数中的行为。由于第9行再次调用自己,直到“start==2”,它什么时候继续执行第9行之后的行,以及它为哪个递归函数执行这些继续行? 抱歉,如果我的问题有点让人困惑,我最近才开始学习Python,希望更好地了解“return”调用在递归函数中的工作方式。任何建议都将不

  • 我想深入了解Jmeter输出。 > 我对吞吐量率的概念感到困惑。这是否意味着服务器在给定负载下只能处理48.1个请求/分钟,还是意味着其他什么。总吞吐量速率和单个请求显示的吞吐量速率之间的差异是什么。在我的情况下,发送了8个请求,单个请求显示吞吐量为6.1/min。请解释一下。 我需要建议服务器端的任何更改/解释jmeter报告,请建议我如何解释需要做什么。 总的总结报告如下: 总用户: 100上

  • 说明: 这实际上是一个诡计问题,因为这段代码不会编译!正如您在第1章中所记得的,浮点文字被假定为双倍,除非后缀有一个f,如2.1f。如果正确地将该值设置为2.1F,那么升级将与上一个示例类似,两个操作数都升级为double,结果将是一个double值。 但我不明白。如果浮动y=2.1;假设是双倍,则不需要将变量y提升到双倍。而我更困惑的是下一个问题,那就是:

  • 我正在从Java学习Java:Just in Time,John Latham。我有点困惑。 我们有一个程序,它从命令行参数中获取当前年龄并计算明年的年龄。 用户可以通过两种方式使此程序失败。首先,他们可能会在没有命令行参数的情况下运行它,因此在尝试访问 args[0] 时会出现问题。其次,它们可能提供一个不是整数的字符串表示的参数,因此 Integer.parseInt() 方法将无法将该值解释

  • 首先,如果我搞砸了我的描述,我是新手,基本上我在正确使用node上遇到了麻烦,我跟随了youtube教程,直到老师告诉我们重新运行我们的代码,当我尝试使用他做的代码时,我得到了这个错误。 我搜索了错误中提到的,但找不到文件夹,我认为它是问题的一部分。 我尝试了很多方法,例如使用,这导致了这个cmd日志; 我还尝试删除我的和,但没有结果。 任何帮助都是感激的,并提前表示感谢:) 编辑:这里是pack

  • 我正在使用android Studio学习应用程序开发。 在build.gradle页面上,我遇到了一个错误,即 “编译'com.android.support:appcompat-v7:25.2.0'”