如何访问在其他方法中使用一种方法创建的对象?java:以不同方法访问对象
我想这样做,以便每次创建新方法并且希望在其中使用该对象时,我都不会一次又一次创建相同的对象。这是我对工作类:
import BrandPhone.*;
public class Test {
public static void main(String[] args) {
// Creating the object.
Phone myPhone = new Phone();
//Creating another object.
Color color = myPhone.getColor();
}
}
如果我尝试访问该对象color
像initialise
如下所示方法的另一种新的方法,我得到一个error
说“找不到符号”:
import BrandPhone.*;
public class Test {
public static void main(String[] args) {
// Creating the object.
Phone myPhone = new Phone();
//Creating another object.
Color color = myPhone.getColor();
}
public void initialise() {
color.setNum(120); // This gives an error
}
}
为了尝试解决这个问题,我决定尝试在类的开头声明对象名称作为类变量,而不是任何方法。这会产生错误,指出“非静态变量('对象名称')不能是来自静态上下文的引用”。
import BrandPhone.*;
public class Test {
Phone myPhone;
Color color;
public static void main(String[] args) {
// Creating the object.
myPhone = new Phone(); // Produces error.
//Creating another object.
color = myPhone.getColor(); // Produces error.
}
public void initialise() {
color.setNum(120);
}
}
为了试图解决这个问题,我改变了方法,而不是public static void main(String[] args) {...}
让我把它public void newObjects() {...}
。当我尝试运行它时,会产生另一个错误,并说“Class”Assignment.Test“没有主要方法。”
我很新的Java,所以我不知道如何解决这个 - 不有所有类都在public static void main(String[] args) {...}
形式main
方法?如果是这样,我不能只是从一个主要方法开始,并将其留空,然后继续做出新的方法?
可能重复[我想知道静态方法和非静态方法之间的区别](http://stackoverflow.com/questions/3903537/i-want-to-know-the-difference-之间静电法和 - 非静态方法)。我还会读:https://docs.oracle.com/javase/tutorial/java/javaOO/classvars.html – alfasin
*“我决定尝试在脚本的开头声明对象名称为类变量”* - Java是**不是*脚本语言*。你称之为“脚本”的是一个*类(源)文件*。用你的措辞清楚!浏览[tutorials](https://docs.oracle.com/javase/tutorial/) –
'myphone'与'myPhone'不同。即使你不关心大小写,java也可以;) –