Java,将字符串从一个类传递到另一个类

时间:2010-10-01 15:06:25

标签: java

在下面的代码中,我做错了。对不起,如果这有点基础。如果它只是在一个类中,那么我的工作正常,但是当我像下面的代码中那样打破类时,我的工作正常:

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)

任何提示?

3 个答案:

答案 0 :(得分:5)

您需要创建ApplesTestDrive的实例,而不是Apples。方法就在那里。

所以,而不是

Apples appleOne = new Apples();

DO

ApplesTestDrive appleOne = new ApplesTestDrive();

这与通过引用传递无关(所以我从你的问题中删除了标记)。这只是一个程序员错误(实际上所有的编译错误都是)。

答案 1 :(得分:1)

您正在Apple对象上调用方法paint但是paint方法在AppleTestDrive类中。

请改用此代码:

AppleTestDrive apple = new AppleTestDrive();
apple.paint(bucket);

答案 2 :(得分:0)

System.out.println("Paint apple one: " + appleOne.paint(bucket)); paint是ApplesTestDrive类的一种方法,而appleOne是一个Apples对象,所以你不能在这里调用appleOne.paint。