定义一组多个对象的变量,就要用对象数组。
对象数组的定义包含动态初始( 类 对象数组名 [ ] = 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());//调用方法 } } }
其运行结果与上面相同。
: