这是代码,
class Car
{
public static String owner;
public static String car;
public static Integer plate_num;
public static String car_color;
Car(String owner, String car_name, Integer num, String color)
{
owner = owner;
car = car_name;
plate_num = num;
car_color = color;
}
Void display ()
{
System.out.println("The owner of the car is "+ owner + "and Car model is " + car);
System.out.println("The car number is "+ plate_num + "and Car color is " + car_color);
} // ---> here is the error
public static void main (String args[])
{
Car car1 = new Car("MAriam", "Mini Cooper", 124834, "Navey");
car1.display() ;
//System.out.println("Y3es");
}
}
答案 0 :(得分:10)
答案 1 :(得分:2)
Colin指出了最直接的问题,返回类型。但是,您的代码也存在其他问题。
特别是,您的变量为static
- 因此,如果您创建了许多Car
个实例,并要求他们每个人在之后显示自己,那么他们都会显示的最后名称等构造函数调用。
您不应在变量声明中使用static
修饰符。出于封装的目的,您还应该将它们设为私有。
此外,这行是一个无操作 - 在一个好的IDE中,它应该向你显示警告:
owner = owner;
这只是将参数的值赋给自己。从字段中删除static
修饰符后,语句可以更改为:
this.owner = owner;
请注意,其他分配没有相同问题的唯一原因是它们都使用不同的字段参数名称...虽然不一致。 (有时字段的前缀为car_
,有时参数为。)
正如Colin在评论中指出的那样,使用默认的“包”访问可能不是你想要的类,构造函数和display
方法......但是没有更多的上下文就很难说。