我有两个班,Main.java
和Car.java
Main.java
:
class Main
{
public static void main(String[] args)
{
Car ferrari = new Car(18, 25.43);
System.out.println(ferrari.efficiency);
}
}
Car.java
:class Car
{
public Car(double mpg, double initFuel)
{
double efficiency = mpg;
double fuel = initFuel;
}
}
我显然试图将效率分配给创建对象时传入的第一个构造函数,但这似乎不起作用(即,当我在Main.java中使用
println
时找不到该变量)。如何为以后要引用的对象分配变量? 最佳答案
您在Car
的构造函数中使用局部变量。它们的生命周期限制在您的构造函数中。只需在您的班级中声明您的成员,然后使用getter和setter即可访问它们。
class Car
{
private double efficiency;
private double fuel;
public Car(double mpg, double initFuel)
{
this.efficiency = mpg;
this.fuel = initFuel;
}
public void setEfficiency(double efficiency) {
this.efficiency = efficiency;
}
public double getEfficiency() {
return efficiency;
}
// Same thing for fuel...
}
在您的
Main
中:class Main
{
public static void main(String[] args)
{
Car ferrari = new Car(18, 25.43);
System.out.println(ferrari.getEfficiency());
}
}
关于java - 对象变量— Java,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57078777/