gpt4 book ai didi

java - 在另一个类中使用主类中的对象

转载 作者:行者123 更新时间:2023-12-02 04:10:07 25 4
gpt4 key购买 nike

所以我们正在尝试创建一个人工智能机器人,我发现 Java 并不像我想象的那么容易。我想做的是从另一个类获取一个对象。

主类:

    package main;


import lejos.hardware.Brick;
import lejos.hardware.BrickFinder;
import lejos.hardware.motor.EV3LargeRegulatedMotor;
import lejos.robotics.RegulatedMotor;
import movement.Forward;

public final class Runner {


public static void main(String[] args) {
//create brick
Brick brick = BrickFinder.getDefault();

// create motors
RegulatedMotor left = new EV3LargeRegulatedMotor(brick.getPort("A"));
RegulatedMotor right = new EV3LargeRegulatedMotor(brick.getPort("D"));

//initialize motors
left.setAcceleration(400);
right.setAcceleration(400);

left.setSpeed(400);
right.setSpeed(400);



Forward forward = new Forward();
forward.moveForward();

}



}

但另一个类是这个

    package movement;


import lejos.utility.Delay;
import main.Runner;

public class Forward{

public int speed;



public void moveForward(){
//moves forward for 5 seconds, then floats until motor stops and then closes the motors
left.backward();
right.backward();

Delay.msDelay(5000);

left.flt();
right.flt();

left.close();
right.close();



}

}

我想使用 left 和 right 对象来制作一个可以向前移动的方法。

最佳答案

您的 Forward 类显然需要对两个电机实例的引用。您应该在构建时转发(没有双关语)它们:

public class Forward {
private final RegulatedMotor left;
private final RegulatedMotor right;

public Forward(RegulatedMotor left, RegulatedMotor right) {
this.left = left;
this.right = right;
}

public void moveForward() { ... }
}

您的 forward 方法现在可以访问它们。现在必须按如下方式构建这样的 Forward:

Forward forward = new Forward(left, right);

关于java - 在另一个类中使用主类中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33874351/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com