我最近开始参加一个简介java课程(我因为缺乏知识而提前道歉)而且我遇到了一些麻烦。我被要求制作一个包含3个数据字段,2个构造函数和4个方法的程序。
我有一段时间试图对此进行一些输入,用户可以从我为汽车价格编制的3个数据字段中的1个中选择并选择他们的车辆。至于构造函数,我做了一个默认的,但我不知道如何A)实现另一个构造函数和B)如何将输入包含在这个和C)方法进入的地方。
我正在考虑将输入放在第一位,但这会破坏我的构造函数?
我意识到我问了很多,但这是一个没有文字的在线课程,我基本上都渴望知识。我已经包括了我到目前为止所得到的内容。反馈表示赞赏。我再次为缺乏知识而道歉,但我正在尝试 -
public class Vehicle{
int truck;
int car;
int van;
public Vehicle(int t, int c, int v){
truck=t;
car=c;
van=v;
}
public Vehicle(){
truck=0;
car=0;
van=0;
}
}
public static void main (String[] args) {
Vehicle cost= new vehicle(25000,15000,22500);
//*cost.truck=25000; cost.car=15000; cost.van=22500;*//
Vehicle this Vehicle= new vehicle();
Vehicle choice Vehicle= new vehicle(25000,22500);
system.out.println("Default prices are 25000 for a truck, 15000 for a car, and"
+ "22500 for a van, you chose" +
}
}
答案 0 :(得分:0)
根据您的问题,您必须询问有关如何定义类并一般使用它们的所有内容。
问题A.如何实现其他构造函数?
从您的情况来看,我发现您已经定义了自己的构造函数,但是在定义另一个构造函数时遇到了问题。要定义另一个构造函数,您必须知道您的参数 会过去的。
在这里,您有三个参数。 (变量t,c,v)。
public Vehicle(int t, int c, int v){
truck=t;
car=c;
van=v;
}
另一个没有参数的构造函数。
public Vehicle(){
truck=0;
car=0;
van=0;
}
定义另一个构造函数时,不能定义同一类型的另外三个参数构造函数,也不能定义不带参数的另一个构造函数。
因此,您可以使用这样的构造方法。
public Vehicle(int veh, int price){
switch (veh) {
case 0:
truck = price;
case ...
}
}
问题B.我如何参与输入?何处让他们参与方法
从你的问题来看,这个语句已经在调用构造函数了,这意味着你已经在输入一个类了。
Vehicle cost = new Vehicle(25000,15000,22500);
与调用没有参数的构造函数以及设置车辆的当前价格相同。
Vehicle choice = new Vehicle();
choice.truck = 25000;
choice.car = 22500;
现在,如果您正在考虑是否有另一种通过方法输入数据的方法。它被称为Encapsulation
。要实现此OOP概念,您应将数据成员定义为Private
。
private int truck;
// public int truck; <- not like this.
然后,你可以涉及输入和输出。使用getter和setter的概念。其中涉及方法。
// simple setter
public void setTruckPrice(int t) {
truck = t;
}
// simple getter
public int getTruckPrice(int t) {
return truck;
}
P.S。我忘了编辑它的封装。
如果您想了解更多信息,请参阅这些链接。
http://docs.oracle.com/javase/tutorial/java/javaOO/classes.html