在下面的代码中我做错了什么。对不起,如果这有点基础。如果它全部在一个类中,但当我像下面的代码那样分解类时,我就可以正常工作:
class Apples{
public static void main(String[] args){
String bucket = "green"; //instance variable
Apples appleOne = new Apples(); //create new object (appleOne) from Apples class
System.out.println("Paint apple one: " + appleOne.paint(bucket));
System.out.print("bucket still filled with:" + bucket);
}//end main
}//end class
class ApplesTestDrive{
public String paint(String bucket){
bucket = "blue"; //local variable
return bucket;
}//end method
}//end class
错误信息:
location:class Apples
cannot find symbol
pointing to >> appleOne.paint(bucket)
有什么提示吗?
最佳答案
您需要创建 ApplesTestDrive
的实例,而不是 Apples
。方法就在那里。
所以,而不是
Apples appleOne = new Apples();
做
ApplesTestDrive appleOne = new ApplesTestDrive();
这与通过引用传递无关(所以我从你的问题中删除了标签)。这只是一个程序员错误(实际上所有的编译错误都是如此)。
关于Java,将字符串从一个类传递到另一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3840438/