java - 对象的变量——Java

标签 java oop object

我有两个类,Main.javaCar.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.c 中使用 println 时找不到该变量) java )。如何将变量分配给稍后引用的对象?

最佳答案

您在 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/

相关文章:

java - 我的java程序无法正常运行我希望它将几个数字输入到一个数组中,然后按从低到高的顺序将其放入另一个数组中

java - 扩展 JBoss Data Virt ws 转换器以处理 JSONP

java - 有没有办法截断 org.eclipse.swt.widgets.Table 项目的文本

ruby - 在模块中讨论实例/类方法的约定

java - 非静态日志能说得过去吗?

Python - 被类和实例变量混淆

python - Pandas DataFrame 对象继承还是对象使用?

python - View 架构的 XML 无效 - OpenErp

Javascript - 使用最后一个迭代值的对象值数组

arrays - Swift 库中的数组问题 - Realm 2.4.1