How do I create a generic Cuboid class in Eclipse?
我被要求创建一个通用的立方体类,它存储立方体的三维空间。我必须添加方法来设置和获取长度、宽度和高度。接下来,添加一个方法public string tostring(),它将返回维度的所有值。
我在Eclipse中创建了我的类。
1 2 3 4
| public class CuboidDimensions <T> {
} |
关于这个练习我有两个问题。
1)Cuboid泛型类是否需要public static void main(string[]args)?为什么?为什么?(我真的不明白。)
2)如何编写方法来设置和获取上面列出的三个维度?
我仍然很难理解Java时期。我不喜欢日食。我喜欢NetBeans,但我必须在我的课上使用Eclipse。
- 通过被要求创建一个通用的立方类,我认为你必须处理继承而不是Java泛型。
- 1)由于类将表示一个对象,因此不需要"main"方法。您可以用这个方法创建一个特定的类,以便在Eclipse中对您的长方体类2)进行一些测试,您可以右键单击=>source=>生成getter和setter。
- Eclipse只是一个IDE。这与你写的代码无关。您可以在记事本中编写相同的东西,并使用JDK中包含的编译器在命令行上编译它。
- "我有两个关于这个练习的问题",然后问你的老师/教授等。
- 我过去问过我的教授。我拿到了答案钥匙。虽然使用应答键很好地完成了一项任务,但我仍然不明白自己在做什么,也不明白为什么要这样做。这就是我在这里问的原因。我真的很想理解。
- 好吧,stackoverflow不太适合这种问题。它太宽了。你最好通过一套针对初学者的完整教程。Oracle教程是一个很好的起点。如果你得不到你需要的支持,可以考虑向你的教授提出这个问题,或者超越他们的想法。
Eclipse编写自己设置和获取的方法。只需转到源代码-生成getter和setter
1)"cuboidDimensions"类需要"main(string[]args)"方法,如果它是用于运行程序的类。"主()"方法是Java程序运行的地方,是调用/创建程序加载时使用的所有对象的方法。如果您的应用程序是从另一个类运行的(即,您的另一个类中有一个"main()"方法),那么您的"cuboidDimensions"类将不需要"main()"方法。
2)您的设定方法将写如下:
1 2 3
| public void setLength(float length){
this.length = length; //or whatever- you probably actually want to assign it to some user input taken from the keyboard?
} |
3)您的GET方法将写如下:
1 2 3
| public float getLength(){
return length;
} |
显然,对于每个维度,都需要在类中声明全局变量才能这样做。
- 您的设置方法令人困惑。您没有分配给类中的任何字段。您也忽略了传入的任何参数。我希望它看起来像public void setLength(float length) { this.length = length; }
- 正确的做法是重新分配更新的length变量应答。但是,我在回答的最后一句话中提到,需要在类中声明全局变量才能做到这一点。OP没有显示类的任何实现,所以我们不知道它们声明了什么变量…
- Java中没有全局性的东西。你是说一块地。即使字段已经存在,您的set方法也不会起作用,因为参数会隐藏字段。但现在一切都好了:)
- 谢谢你的帮助…我没有意识到我必须先声明变量。我声明了我的三个变量,并有我的set/get方法。我真的从这里学到了很多。我知道这不是最好的地方,但我很沮丧。我真的很感谢你的帮助和洞察力。
- Java中的全局变量是在类的范围内声明的变量,但在任何方法之外——即它是全局的,因为该类中的所有方法都可以访问该变量。局部变量是在方法范围内声明的变量,即它是局部变量,因为它只能在该特定方法内访问。
- 没问题。我知道当你刚接触一门语言的时候是什么样子的…