Java 如何访问在main方法中创建的对象

Java 如何访问在main方法中创建的对象,java,object,methods,Java,Object,Methods,我正在努力寻找如何发送/访问由另一个静态方法在主方法中创建的对象 下面是我的一些服务类代码,它由公共构造函数、访问器和mutator方法组成: public class Participants { String firstName=" "; String lastName=" "; int socialSecurity=0; int ticket=0; char status='N';

我正在努力寻找如何发送/访问由另一个静态方法在主方法中创建的对象

下面是我的一些服务类代码,它由公共构造函数、访问器和mutator方法组成:

  public class Participants 
    {
        String firstName=" ";
        String lastName=" ";
        int socialSecurity=0;
        int ticket=0;

        char status='N';
        Vehicle veh=null;


        public Participants(String fn, String ln, int ssn, int tkt)
        {
            firstName=fn;
            lastName=ln;
            socialSecurity=ssn;
            ticket=tkt;
        }
    }
还有一个客户端类,它有我创建和初始化这些对象的主方法和我试图访问这些对象的第二个方法:

public class Race
{
    public static void main(String[] args)
    {
        ....
        Participants []people=new Participants[35];
        Vehicle []cars=new Vehicle[10];
...code to "fill" those objects
        GiveAway([]cars,[]people); //sending those objects to static method- doesn't work from here)
    }

public static void GiveAway(Vehicle[] veh, Participants[] part)
    {
        //set of instructions to work and change those objects
    }
}
代码根本不起作用,这是因为我真的不知道如何将对象数组发送到方法。顺便问一下,有可能吗

我这样做对吗?还是有更简单的方法?我找到了一些关于私有类和其他一切的主题,但不知道如何处理我的代码

谢谢你的帮助

谢谢大家!

你对赠品的要求应该是这样的

GiveAway(cars, people);
那些方括号给了你一个编译器错误。

你对Giveway的调用应该是这样的

GiveAway(cars, people);
 Participants []people=new Participants[35];
 Vehicle []cars=new Vehicle[10];
 GiveAway([]cars,[]people);
这些方括号给你一个编译器错误

 Participants []people=new Participants[35];
 Vehicle []cars=new Vehicle[10];
 GiveAway([]cars,[]people);
应该是

Participants[] people=new Participants[35];
Vehicle[] cars=new Vehicle[10];
GiveAway(cars, people);
在Java中,您使用[]向编译器发出这是一个数组的信号。你把它放在你想要创建一个参与者数组的对象的名字后面,Vehicle。当调用Giveway时,您只需要使用数组的名称

应该是

Participants[] people=new Participants[35];
Vehicle[] cars=new Vehicle[10];
GiveAway(cars, people);

在Java中,您使用[]向编译器发出这是一个数组的信号。你把它放在你想要创建一个参与者数组的对象的名字后面,Vehicle。调用Giveway时,您只需要使用数组的名称。

我认为您认为数组的名称是[]人和[]车。不是。申报时,实际上是:

Vehicle[]  cars = new Vehicle[10];
└───────┘  └──┘
  Type     var name
因此数组名为cars,这就是您应该如何将其传递给另一个方法的方式:

GiveAway(cars, people);

作为旁注:不要给出以大写字母开头的方法名称。约定是,只有类型名、类、接口等以大写字母开头。常量都是大写的,方法的第一个字母是小写的。

我认为您认为数组名是[]人和[]车。不是。申报时,实际上是:

Vehicle[]  cars = new Vehicle[10];
└───────┘  └──┘
  Type     var name
因此数组名为cars,这就是您应该如何将其传递给另一个方法的方式:

GiveAway(cars, people);
作为旁注:不要给出以大写字母开头的方法名称。约定是,只有类型名、类、接口等以大写字母开头。常量都是大写的,方法有一个小写的第一个字母