无法从另一个对象中获取对象中的值(java 处理)

Cannot get a value in a object from out of a another object (java processing)

在processing中可以,但是在Eclipse中不行,为什么? 我想要一个对象从另一个对象获取值,这看起来很简单,但由于某种原因我得到 "test cannot be resolved"。 感谢帮助,如果我不清楚或者我的问题太新手了,我很抱歉,但我不能全神贯注。

package testclasinterchanceval;

import processing.core.PApplet;



    public class Testclasinterchanceval extends PApplet {

        public void setup() {


        }

        public void draw() {

             Test test = new Test (20);
             Apples apples = new Apples (50);

            strokeWeight(7);
            point (70,50);

            println( apples.accesTest() );
        }
    }

    package testclasinterchanceval;

    public class Test {

        public float i;
        Test( float _i ){ i = _i; }


        float getVal() {

        return this.i;
        }

    }

    package testclasinterchanceval;

    public class Apples {

        public float i;

        Apples( float _i ){ i = _i; }


        float accesTest(){
        float t = test.getVal();
        return t ;
        }
    }

我相信您遇到了问题...

public class Apples {

    public float i;

    Apples( float _i ){ i = _i; }


    float accesTest(){
    float t = test.getVal();
    return t ;
    }
}

您没有在这里定义变量test。您可以将其添加为实例变量并在那里对其进行初始化,根据您的设计通过构造函数。

你应该做的是...

public void draw() {

         Test test = new Test (20);
         Apples apples = new Apples (50);

        strokeWeight(7);
        point (70,50);

        println( apples.accesTest(test ) );
    }

并更改 accessTest() 的方法签名以将 Test test 作为方法参数并使用。

public class Apples {

    public float i;

    Apples( float _i ){ i = _i; }


    float accesTest(Test test){
    float t = test.getVal();
    return t ;
    }
}