0

我很难理解这个结构

 public class MyBucket extends bucket {
   private double var1;
   private MyShovel Shovel; <- this is the problem here

   public MyBucket(int volume, MyShovel Shovel) {

      Some code here

   }
  }

我无法理解 Java 术语中的私有 MyShovel Shovel 是什么。它是我的项目中定义的一个类,但我无法确定它在 Java 世界中的名称。有人可以帮我定义它,这样我就可以研究它是什么。这是生产代码,它可以工作。只是无法弄清楚该构造的官方 Java 名称。

4

2 回答 2

1

Shovel是(私人)会员。它的类型是MyShovel. 这意味着 的每个实例都MyBucket包含对MyShovel对象的引用,该对象只能在类中通过名称来引用Shovel

请注意,此声明不遵循java 命名约定。在适当的约定中,它会被称为myShovel,在 lowerCamelCase 中。

于 2015-01-15T07:19:17.703 回答
1

Shovel只是一个变量。它是 的一个实例MyShovelMyShovel将是Class代表虚拟铲子的 a。由于它是一个全局变量,或者fieldMyBucket这意味着每个变量MyBucket都包含MyShovel在它的内部。

在您提供的代码中,它是未定义的并且没有价值。因为private只有方法MyBucket才能访问它。构造MyBucket函数接受一个MyShovel参数,并且很可能Shovel是设置的内容。

你可以这样想: 每个人都MyBucket必须有它的MyShovel内在才能让它发挥作用。因此,在创建 a 时,MyBucket您将其MyShovel放入其中。Shovel是该特定MyShovel内容将被存储的空间。

正如其他人提到的那样,它应该被命名为“铲子”以进行命名约定。

于 2015-01-15T07:36:47.210 回答