大家分析分析,为什么会出现这种情况:
一个Airport类,包括机场名和对应的航班.

 1简单基础的问题,但是非常容易出错.    
 2简单基础的问题,但是非常容易出错.public class Airport
 3{
 4简单基础的问题,但是非常容易出错.    private String mAirportName;
 5简单基础的问题,但是非常容易出错.    private String[]  mAirlines=new String[10];
 6简单基础的问题,但是非常容易出错.    
 7简单基础的问题,但是非常容易出错.    private void Init()
 8{
 9简单基础的问题,但是非常容易出错.        for(int i=0;i<10;i++)
10{
11简单基础的问题,但是非常容易出错.            mAirlines[i]="";
12简单基础的问题,但是非常容易出错.        }
13简单基础的问题,但是非常容易出错.    }
14简单基础的问题,但是非常容易出错.    public Airport(String airport,String[] airlines)
15{
16简单基础的问题,但是非常容易出错.        Init();
17简单基础的问题,但是非常容易出错.        mAirportName=airport;
18简单基础的问题,但是非常容易出错.        mAirlines=airlines;
19简单基础的问题,但是非常容易出错.    }
20简单基础的问题,但是非常容易出错.    public void serAirport(String value)
21{
22简单基础的问题,但是非常容易出错.        mAirportName=value;
23简单基础的问题,但是非常容易出错.    }
24简单基础的问题,但是非常容易出错.    public String getAirport()
25{
26简单基础的问题,但是非常容易出错.        return mAirportName;
27简单基础的问题,但是非常容易出错.    }
28简单基础的问题,但是非常容易出错.    public void setAirlines(String[] airlines)
29{
30简单基础的问题,但是非常容易出错.        mAirlines=airlines;
31简单基础的问题,但是非常容易出错.    }
32简单基础的问题,但是非常容易出错.    public String[] getAirlines()
33{
34简单基础的问题,但是非常容易出错.        return mAirlines;
35简单基础的问题,但是非常容易出错.    }
36简单基础的问题,但是非常容易出错.}

调用此类的代码为:

 1简单基础的问题,但是非常容易出错.    private static void loadAirportsAndAirlines()
 2{
 3简单基础的问题,但是非常容易出错.            String strAirport="LGA";
 4简单基础的问题,但是非常容易出错.            Airport[] mAirport=new Airport[2];
 5简单基础的问题,但是非常容易出错.                String[] strAirlines=new String[10];
 6简单基础的问题,但是非常容易出错.            for(int i=0;i<10;i++)
 7简单基础的问题,但是非常容易出错.                strAirlines[i]="";
 8简单基础的问题,但是非常容易出错.
 9简单基础的问题,但是非常容易出错.            strAirlines[0]="AER LINGUS";
10简单基础的问题,但是非常容易出错.            strAirlines[1]="AIR ARUBU";
11简单基础的问题,但是非常容易出错.            strAirlines[2]="AMERICAN WEST";
12简单基础的问题,但是非常容易出错.            strAirlines[3]="AMERICAN INTL";
13简单基础的问题,但是非常容易出错.            strAirlines[4]="SOUTHWEST";
14简单基础的问题,但是非常容易出错.            strAirlines[5]="DELTA INTL";
15简单基础的问题,但是非常容易出错.            strAirlines[6]="MARK AIR";
16简单基础的问题,但是非常容易出错.            strAirlines[7]="SAS";
17简单基础的问题,但是非常容易出错.            strAirlines[8]="US AIR";
18简单基础的问题,但是非常容易出错.            strAirlines[9]="CHINA EAST";
19简单基础的问题,但是非常容易出错.            mAirport[0]=new Airport(strAirport,strAirlines);
20简单基础的问题,但是非常容易出错.            //strAirlines=new String[200];
21简单基础的问题,但是非常容易出错.        //    for(int i=0;i<200;i++)
22简单基础的问题,但是非常容易出错.            //    strAirlines[i]="";
23简单基础的问题,但是非常容易出错.            strAirport="JFK Airport";
24简单基础的问题,但是非常容易出错.            strAirlines[0]="BAER LINGUS";
25简单基础的问题,但是非常容易出错.            strAirlines[1]="BAIR ARUBU";
26简单基础的问题,但是非常容易出错.            strAirlines[2]="BAMERICAN WEST";
27简单基础的问题,但是非常容易出错.            strAirlines[3]="BAMERICAN INTL";
28简单基础的问题,但是非常容易出错.            strAirlines[4]="BSOUTHWEST";
29简单基础的问题,但是非常容易出错.            strAirlines[5]="DELTA INTL";
30简单基础的问题,但是非常容易出错.            strAirlines[6]="MARK AIR";
31简单基础的问题,但是非常容易出错.            strAirlines[7]="SAS";
32简单基础的问题,但是非常容易出错.            strAirlines[8]="US AIR";
33简单基础的问题,但是非常容易出错.            strAirlines[9]="CHINA EAST";
34简单基础的问题,但是非常容易出错.            mAirport[1]=new Airport(strAirport,strAirlines);
35简单基础的问题,但是非常容易出错.            //为什么mAirport[0]的mAirport[0]和mAirport[1]的getAirlines()的结果是一样呢?
36简单基础的问题,但是非常容易出错.        }

你运行时会发现mAirport[0]和mAirport[1]的getAirlines()的结果是一样的,也就是说mAirport[0]这个Airport类的mAirlines[10]和mAirport[1]的一样,为什么?

相关文章: