对象数组

  定义一组多个对象的变量,就要用对象数组。

  对象数组的定义包含动态初始( 类  对象数组名 [ ] = new 类 [长度];),数组里的每个元素都是引用类型的默认值;  静态初始化(类 对象数组名称  [ ]= new 类[ ]{实例化对象,实例化对象.....};)

  动态初始化实例

class Phone{
    private String brand;
    private double price;
    public Phone(String b,double p) {
        brand = b;
        price = p;
        
    }
    public  String PrintInfo() {
        return "手机品牌:"+brand+" 手机价格:"+price;
    }
}


public class ArryTest3 {

    public static void main(String[] args) {
        // TODO 自动生成的方法存根
Phone ps[] = new Phone[3]; 
ps[0] = new Phone("黑米",999.0);
ps[1] = new Phone("白米",1699.0);
ps[2] = new Phone("红米",1499.0);
for(int i=0;i<ps.length;i++) {
    System.out.println(ps[i].PrintInfo());
}
    }

}

输出结果为:

静态初始化的实例:

package protect2;

class Phone1{
    private String brand;
    private double price;
    public Phone1(String b,double p) {
        brand = b;
        price = p;
        
    }
    public  String PrintInfo() {
        return "手机品牌:"+brand+" 手机价格:"+price;
    }
}


public class ArryTest4 {

    public static void main(String[] args) {
        // TODO 自动生成的方法存根
Phone1 tp =new Phone1("黑米",999.0);    
Phone1 ps[] = new Phone1[]{tp,new Phone1("白米",1699.0),new Phone1("红米",1499.0)}; 
//Phone1 ps[] = new Phone1[] {new Phone1("黑米",999.0),new Phone1("白米",1699.0),new Phone1("红米",1499.0)}; //与上面的定义方法相同但更加方便

for(int i=0;i<ps.length;i++) {
    System.out.println(ps[i].PrintInfo());//调用方法
}
    }

}
 

其运行结果与上面相同。

原文地址:https://www.cnblogs.com/128-cdy/p/11283780.html