我正在创建一个对象,它应该被另一个方法使用。
我如何实现这一目标?
这是我的代码:
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 {
}
答案 0 :(得分:4)
您应该了解两个关键要素:
创建对象后,应将其存储在变量中。否则它只是存在于内存中,将被垃圾收集,因此消失。拥有一个变量使您可以在以后访问它,并且只要该变量存在就会阻止它被垃圾收集(这是关于范围的东西,你可能想让自己熟悉它同样)。
变量有一个类型(MyClass
)和一个名称,您可以使用=
进行分配。
以下是相关部分:
public static void main(String[] args) {
MyClass object1 = new MyClass(); // <--- note the change
myMethod();
}
您现在有一个名为object1
的变量,您可以使用该名称。
现在你有一个变量,你可以&#34;给&#34;它的方法。我们也说&#34;传递&#34;。这在括号中完成,如下所示:
public static void main(String[] args) {
MyClass object1 = new MyClass();
myMethod(object1);
}
此时,您的代码将无法运行,因为该方法尚未了解该参数。根据工具的不同,您可能会立即看到此信息,例如:通过Eclipse中带下划线的文本:
要告诉方法它得到什么,你还要在那里定义类型和名称:
public static void myMethod(MyClass differentName) {
// Here's where I want to use my object
}
在方法myMethod
内,请注意变量的名称可以不同。这没关系,程序只是给出了完全相同的不同名称。我的名字是阿尔弗雷德,但你可以叫我Al。
在myMethod
内,您只能使用新名称下的变量。根据您要执行的操作,您可以通过键入其名称和.
来访问它。您甚至可以将其传递给其他方法。根据工具的不同,您可以获得有关如何使用它的建议: