创建一个对象并使用new或声明进行分配

0 java object webots

我试图理解Webots中的示例代码(机器人仿真程序).

我遇到过这段代码:

Servo rightShoulderPitch = getServo("RShoulderPitch");
rightShoulderPitch.setPosition(1.5);
Run Code Online (Sandbox Code Playgroud)

我不明白第一行是什么肉.看起来"rightShoulderPitch"是Servo类的一个对象,但它并不像往常那样创建,并且'getServo'(我认为它是一种方法)如何来到这里.

这个类的标题是,如果它有帮助:

public class FieldPlayer extends Robot {
Run Code Online (Sandbox Code Playgroud)

该公司在参考手册中也有描述,但我无法理解它们的含义.在这里可以找到搜索getservo.

--- RShoulderPitch:是机器人肩膀的名称

我非常乐意帮助你.

谢谢

Jon*_*eet 6

这一行:

Servo rightShoulderPitch = getServo("RShoulderPitch");
Run Code Online (Sandbox Code Playgroud)

...调用getServo方法,传入字符串值"RShoulderPitch".返回值用作rightShoulderPitch变量的初始值,该变量属于类型Servo.(注意,rightShoulderPitch 它不是一个对象 - 它是一个变量.它有一个值,它可以是null或对象的引用.)

我们无法分辨返回类型getServo是什么,但它必须是可以隐式转换为Servo- 所以要么Servo本身,要么是某些子类.

getServo 可以:

  • 创建一个新对象,并返回对它的引用
  • 返回对现有对象的引用(例如,从缓存中)
  • 返回null
  • 抛出一个例外

如果这些都没有帮助,请准确说明您不理解的内容.听起来你可能不熟悉Java - 在这种情况下,没有Webots API学习"只是Java"可能是一个很好的方法; 只有在对语言本身有信心时才学习Webots.