gpt4 book ai didi

Java参数化构造函数

转载 作者:行者123 更新时间:2023-12-01 21:27:53 25 4
gpt4 key购买 nike

我是编程新手,也是 Java 新手。我现在正在尝试的是使用参数化构造函数,然后通过特定方法使用创建的对象。这是我的代码:

public class Car {
int fuelcap;
int mpg;

Car(int f, int m) { //here
fuelcap = f; //and here
mpg = m; //and here
}

int range() {
return mpg * fuelcap;
}

public static void main(String[] args) {
Car sedan = new Car(16, 21);
Car sportscar = new Car(14, 16);
System.out.println(sedan.range());
System.out.println(sportscar.range());

}

}

问题是,我不知道为什么构造函数 Car - 'int f' 和 'int m' 的参数与字段: 'int Fuelcap;' 不同'int mpg;'。我们不能像这样创建构造函数吗:

Car(int fuelcap, int mpg){
}

然后在创建对象时将值传递给这些参数?

最佳答案

不,你不能。您必须将构造函数参数分配给构造函数主体中的类字段,否则它们将不会被保存。这就是 Java 的工作原理。构造函数参数没有什么“神奇”之处。

此外,请注意正确的风格:

Car(int fulecap, int mpg) {     
this.fuelcap = fuelcap;
this.mpg = mpg;
}

如果您的字段比 ctor 参数多,那也没关系。只需将构造函数视为创建对象后调用的普通方法即可。 (最后一句话只是有点正确,但会为您提供用于此目的的正确想法。)

关于Java参数化构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37803419/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com