Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.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)_Java - Fatal编程技术网

需要帮助理解这段代码(java)

需要帮助理解这段代码(java),java,Java,当你写gear=startGear时;这实际上是做什么的?它是否暂时将档位值设置为您当前的输入值,然后将其重置为零?这称为变量的实例吗 有人能向我解释什么是“对象的实例”吗?这里有吗? 我认为对象的一个实例是当有人编写Bicycle bike1=new Bicycle()时;bike1是一个对象的实例。对不起,我是个彻头彻尾的笨蛋 public class Bicycle { private int cadence; private int gear; private int speed;

当你写gear=startGear时;这实际上是做什么的?它是否暂时将档位值设置为您当前的输入值,然后将其重置为零?这称为变量的实例吗

有人能向我解释什么是“对象的实例”吗?这里有吗? 我认为对象的一个实例是当有人编写Bicycle bike1=new Bicycle()时;bike1是一个对象的实例。对不起,我是个彻头彻尾的笨蛋

public class Bicycle {

private int cadence;
private int gear;
private int speed;

public Bicycle(int startCadence, int startSpeed, int startGear) {
    gear = startGear;
    cadence = startCadence;
    speed = startSpeed;
}
这是类
Bicycle
的构造函数,它接受三个参数,它们的类型都是
int
。构造函数的名称应与类的名称相同

当您编写gear=startGear时;这实际上是做什么的?

对于这样的变量副本,实际上是将传递的参数的值赋给它


什么是“对象实例”?

没有所谓的对象实例。您有一个类的实例。每个实例都有自己的类成员变量。事实上,实例和对象是同义词,经常互换使用


分开说明部分并理解此图表-

  • 这是class
    Bicycle
    -
  • 自行车1=新自行车(10,4,75) 当说
    新自行车时(10,475)
    Bicycle
    类被实例化。通过实例化方式-

    • 为类成员分配内存
    • 默认情况下,调用类构造函数
    操作符
    new
    返回对象驻留在堆上的地址。因此,在我们的例子中,
    bike1
    指向这样的内存位置。
    (10,4,75)
    作为参数传递给构造函数,由于您正在构造函数中执行必要的赋值操作,因此10,4,75分别被赋值给
    节奏、档位和速度


    简而言之,实例化类时会获得类变量的副本。

    因此自行车是一个对象。因此,它负责了解有关自行车的一切。因此,它必须记住有关自身的信息,以便在以后的某个时间点,如果你询问自行车有关自身的信息,它可以告诉你这些信息

    这段代码是一个构造函数,它初始化Bicycle对象


    因此,我们要做的是告诉这辆自行车你的装备是“startGear”,一些值被传递到构造函数中。自行车将该值保存在一个字段中,以便以后可以引用它。

    为什么我不只是做公共自行车(int-Cadence、int-Speed、int-Gear);通过这种方式,值将直接传递给它?@CuriousStudent-我只是举一个例子,来说明类construtor的原型。您正在做的是将构造函数的定义作为类定义本身的一部分。如果我做一些类似于公共矩形(int x,int y,int width,int height){this.x=x;this.y=y;?@CuriousStudent-为了更好地理解,添加了一些图表。希望有帮助:)
    public Bicycle(int startCadence, int startSpeed, int startGear) ;