它们对调用对象意味着什么?

时间:2016-09-13 23:49:01

标签: java object methods

使用以下方法和构造函数编写类MyInts.java。

1-大小为25的int数组作为私有字段

2-构造函数,它接受一个整数字符串并将其存储在int

数组中

3-复制构造函数

4-方法Add将参数1作为参数1 MyInt并将其添加到调用对象并返回 结果

5-方法isEqual检查2个MyInt变量是否相等。

6-方法compareTo如果调用对象小于参数则返回-1,如果是,则返回+1 调用对象大于参数,如果它们相等则为0

有人想解释调用对象在add方法中的含义吗?他们是否意味着我应该将MyInt作为参数添加到另一个MyInt或者什么?

2 个答案:

答案 0 :(得分:1)

编辑;鉴于你的评论...我们应该谈论添加方法:

<div class="container">
  <div class="images" id="imageBack" style="background-image: url(//data.whicdn.com/images/20948152/large.png)">
    <div class="content" id="content">
      <div id="imageLinks">
        <a href="#" data-src="//ichef.bbci.co.uk/news/660/cpsprodpb/1325A/production/_88762487_junk_food.jpg">1</a>
        <a href="#" data-src="//i.imgur.com/NhDejjN.jpg">2</a>
        <a href="#" data-src="//s-media-cache-ak0.pinimg.com/564x/80/40/9d/80409d8c06d21e0c0416a40c2176def3.jpg">3</a>
        <a href="#" data-src="//data.whicdn.com/images/20948152/large.png">4</a>
      </div>
      <span id="content-resize"></span>
    </div>
  </div>
</div>

可能就是答案。问题是作业4并不是很清楚;因为没有明显的&#34;定义添加两个MyInt对象的确意味着什么。它还完全不清楚添加操作的结果是什么/应该是什么。

长话短说:我的实现是一个 4-A的插件,它假设添加意味着:将另一个数组的内容添加到第一个数组中;然后返回那个&#34;增加的#Ind对象&#34; (从这个意义上讲:调用该方法的对象)。也许这就是你需要的;但可以肯定;你应该请你的老师澄清一下。

答案 1 :(得分:0)

根据GhodstCat的回答,对答案有另一种解释。

您可以将MyInt个对象视为 immutable ,这意味着一旦创建了对象,其状态就不会被修改。维基百科有一篇关于immutable objects的精彩文章。

这是答案的不可变实现:

public MyInt {
    private final int[] numbers = new int[25];

    // Internal private constructor
    private MyInt(int[] numbers) {
        this.numbers = numbers;
    }

    public MyInt add(MyInt other) {
        int[] newNumbers = new int[25];

        for (int i=0; i < number.length; i++) {
            newNumbers [i] = numbers[i] + other.numbers[i];
        }

      return new MyInt(newNumbers);
   }

您会注意到我们不会修改原始对象numbers成员,而是创建一个新的MyInt对象,该对象具有添加的结果。