我在构造函数中创建并初始化了变量。 有没有办法访问这些变量?
例如:
public Bicycle() {
int gear = 1;
int cadence = 10;
int speed = 0;
}
声明自行车对象后
Bicycle myBike = new Bicycle();
我可以访问可变齿轮及其值吗?
在我的代码中,我有列表而不是整数,但我认为这是一个类似的问题。如果访问列表有任何不同,请在回复中告知我们。感谢。
答案 0 :(得分:2)
不,没有办法在该构造函数之外访问齿轮变量,因为gear
是一个局部变量(即它在构造函数中声明 )。您可能希望生成gear
类的cadence
(以及speed
和Bicycle
)字段,以便您可以从该类的任何方法访问。 (这同样适用于List
)的实例。
public class Bicyle {
// Notice we're declaring the variables outside the constructors, as fields.
int gear;
int cadence;
int speed;
public Bicycle() {
// The variables are initialized (but not declared) here
gear = 1;
cadence = 10;
speed = 0;
}
public someMethod() {
//Accessing gear from outside constructor
gear = gear + 1;
}
}
答案 1 :(得分:-1)
是的,这是面向对象编程的基本概念,您可能想要研究它。要访问这些对象,通常会创建“getters”和“setters”。这些是类中的方法,可以获取和设置类变量,就像您提供的那样。我鼓励你查阅这些概念,因为它们在互联网上得到了很好的解释。