什么是Java中的变量,为什么要使用它?

我正在创建一个对象,它应该由另一个方法使用。

我该如何实现这一目标?

这是我的代码:

public class Program { public static void main(String[] args) { new MyClass(); myMethod(); } public static void myMethod() { // Here's where I want to use my object } } public class MyClass { } 

您应该了解两个关键要素:

  • 使用变量来存储对象和
  • 然后将其作为参数传递给方法。

第1部分:变量

创建对象后,应将其存储在变量中。 否则它只是存在于内存中,将被垃圾收集,因此消失。 拥有一个变量使你可以在以后访问它,并且只要变量存在就会阻止它被垃圾收集(这是关于范围的东西,你可能也想让自己熟悉它)。

变量有一个类型( MyClass )和一个名称,你使用=来分配它。

这是相关部分:

 public static void main(String[] args) { MyClass object1 = new MyClass(); // <--- note the change myMethod(); } 

您现在有一个名为object1的变量,您可以将其与该名称一起使用。

第2部分:参数

现在您有了一个变量,您可以将它“赋予”该方法。 我们也说“通过”。 这是在括号中完成的,如下所示:

 public static void main(String[] args) { MyClass object1 = new MyClass(); myMethod(object1); } 

此时,您的代码将无法运行,因为该方法尚未了解有关该参数的任何信息。 根据工具的不同,您可以立即看到这一点,例如Eclipse中带下划线的文本:

Eclipse错误消息]

要告诉方法它得到了什么,你还要在那里定义类型和名称:

 public static void myMethod(MyClass differentName) { // Here's where I want to use my object } 

在方法myMethod ,请注意变量的名称可以不同。 这没关系,程序只给出了完全相同的不同名称。 我的名字是阿尔弗雷德,但你可以叫我阿尔。

myMethod您只能使用新名称下的变量。 根据您要执行的操作,您可以通过键入其名称和a来访问它. 。 您甚至可以将其传递给其他方法。 根据工具的不同,您可以获得有关使用它的方法的建议:

Eclipse中的建议