调用方法main方法在Java中

问题描述:

我有一个关于在主类使用方法的问题,这是我的比赛类代码:调用方法main方法在Java中

import java.util.ArrayList; 


public class Race { 

    private ArrayList<Car>cars; 


    public Race(){ 
     cars = new ArrayList<Car>(); 
    } 

    public void addCars(Car car){ 
     cars.add(car); 
    } 
} 

以上是我做了什么,使一个ArrayList的我准备把在由另一个类使用main方法的汽车:

public class Test { 

    public static void main(String[] args) { 
     Car toyota = new Car("Toyota",1.0,1.0,2.0,2.0); 
     cars.addCars(toyota); 
    } 
} 

然而,在最后一行的错误,它表明“汽车不能得到解决”,我不知道应该怎样我解决它,也许在Race类中写入一个getter方法?

+1

您没有一个名为'cars'的变量。也许你想'赛车=新种族();' –

+1

你忘了创建一场比赛。 – Nikhil

+0

此外,[Code Conventions](http://www.oracle.com/technetwork/java/codeconv-138413.html)建议变量名称应以小写字母开头,例如, '汽车丰田=新车(...)'。 –

创建的race的实例并调用addCars

Race race = new Race(); 
race.addCars(toyota); 
+0

感谢您的帮助,您的解决方案是否将车添加到我制作的阵列列表中? –

+0

好吧,是的,将它添加到'Race'中包含的'List'中 – Reimeus

+0

有关类“Race”的整个想法是它封装和隐藏实现细节(ArrayList)。 – KarlP

cars没有在这方面存在着,你可能要坚持到convention在具有小写的变量名,也是如此。

Test类更改与此类似:

public class Test { 
    public static void main(String[] args) { 
     Race race = new Race(); 
     Car toyota=new Car("Toyota",1.0,1.0,2.0,2.0); 
     race.addCars(toyota); 
    } 
} 

你要车添加到比赛,不cars(不存在)。 要将赛车添加到比赛中,您首先需要制作一辆。

通过在比赛中添加赛车,它将内部添加到赛车列表中。 (因为你是这么做的) 你的问题基本上是你试图使用超出范围的变量。 (其他地方,基本上)

因为我不知道你确切的问题,我不能真正帮助你进一步,但你可能想保存在一个字段而不是局部变量的比赛,这一切都取决于你想做什么。

+0

谢谢Xandaros! –