Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java的不同构造函数中使用1个变量_Java_Variables_Constructor - Fatal编程技术网

在java的不同构造函数中使用1个变量

在java的不同构造函数中使用1个变量,java,variables,constructor,Java,Variables,Constructor,我想从第二个构造函数中获取变量,并在第一个构造函数中使用它。我试图直接使用它,但它不起作用。我还尝试在第一个构造函数中构造第二个构造函数,但也没有成功。有什么想法吗 感谢您创建了一个实现AttitudeListener的新类。为高度创建一个带有setter和getter方法的实例变量高度,并在第一个和第二个构造函数中相应地使用它 示例:在AttitudeListenerImpl.java中 @Override public void onIrEvent(IREvent e) { // T

我想从第二个构造函数中获取变量,并在第一个构造函数中使用它。我试图直接使用它,但它不起作用。我还尝试在第一个构造函数中构造第二个构造函数,但也没有成功。有什么想法吗


感谢您创建了一个实现
AttitudeListener
的新类。为
高度
创建一个带有setter和getter方法的实例变量
高度
,并在第一个和第二个构造函数中相应地使用它

示例:在AttitudeListenerImpl.java中

@Override
public void onIrEvent(IREvent e) {
    // TODO Auto-generated method stub

}


ardrone.addAttitudeUpdateListener(new AttitudeListener() {
        @Override
        public void attitudeUpdated(float pitch, float roll, float yaw, int altitude) {
        System.out.println("altitude : " + altitude);
        }
    });
在其他代码中的用法:

class AttitudeListenerImpl implements AttitudeListener
{
    private int altitude;
    public void setAltitude(int altitude)
    {
        this.altitude = altitude;
    }
    public int getAltitude()
    {
        return this.altitude;
    }
    @Override
    public void attitudeUpdated(float pitch, float roll, float yaw, int altitude) 
    {
        setAltitude(altitude);
        System.out.println("altitude : " + altitude);
    }
}

我在这里没有看到任何构造函数。你在说的是态度论者吗?在这种情况下,您需要创建一个实现此接口的类

然后您可以做的是构造函数链接,例如:

AttitudeListener alti = new AttitudeListenerImpl();
alti.attitudeUpdated(1.0f,1.0f,1.0f,1);
ardrone.addAttitudeUpdateListener(alti);

@Override
public void onIrEvent(IREvent e) 
{
        // TODO Auto-generated method stub
        //to get the altitude:
         System.out.println("altitude : " + alti.getAltitude()); 

}

你能进一步解释一下你想要达到的目标吗?

我应该把这个放在哪里?主建造师?AttitudeListener alti=新的AttitudeListenerImpl();高度姿态更新(1.0f,1.0f,1.0f,1);addAttitudeUpdateListener(alti);这取决于你想要达到的目标!试图用wiimote控制一架四轮直升机。我需要控制装置的高度变量。
public class MyAttitudeListener implements AttitudeListener
{
    public MyAttitudeListener()
    {
        this(3); // this is like new MyAttitudeListener(3);
    }
    public MyAttitudeListener(int altitude)
    {
        // do some work
    }        
}