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;
}
当你写gear = startGear时;这实际上是做什么的?是暂时设置齿轮的值,无论你的输入是什么时间,然后它重置为零?这是一个变量的实例吗?
有人可以向我解释究竟什么是“对象的实例”?这里有人吗? 我认为一个对象的实例是当有人写自行车bike1 = new Bicycle();和bike1是一个对象的实例。对不起,我是一个总菜鸟。
答案 0 :(得分:0)
public Bicycle(int startCadence, int startSpeed, int startGear) ;
这是类Bicycle
的构造函数,它接受三个类型为int
的参数。构造函数应该与该类的名称相同。
;这实际上是做什么的?
对于这样的变量副本,您实际上是将传递参数的值赋给它。
究竟什么是“对象的实例”?
没有任何东西叫做对象的实例。你有一个实例的类。每个实例都有自己的类成员变量。事实上,实例和对象是同义词,通常可以互换使用。
将描述性部分分开并理解此图表 -
Bicycle
的基本结构 -
当说new Bicycle(10, 4 75);
时,Bicycle
类被实例化。通过实例化手段 -
运算符new
返回对象驻留在堆上的地址。所以,在我们的例子中bike1
指向这样的内存位置。
(10,4,75)
作为参数传递给构造函数,并且由于您在构造函数中执行必要的赋值操作,因此分别将10,4,75分配给cadence, gear, speed
。
为了简短起见,在实例化类时会获得类变量的副本。
答案 1 :(得分:0)
所以自行车是一个对象。因此,它负责所有关于自行车的知识。因此,它必须记住有关自身的信息,以便在以后向自行车询问自己时,它可以告诉您信息。
此代码是构造函数,它初始化Bicycle对象。
所以我们正在做的是告诉这辆自行车你的装备是'startGear'一些值传递给构造函数。自行车将该值保存在一个字段中,以便以后可以引用它。