Java中对象数组的使用方法详解
程序员文章站
2023-10-30 18:33:04
本文实例讲述了java中对象数组的使用方法。分享给大家供大家参考,具体如下:
一 点睛
对象可以用数组来存放,通过下面两个步骤来实现。
1 声明以类为数据类型的数组变...
本文实例讲述了java中对象数组的使用方法。分享给大家供大家参考,具体如下:
一 点睛
对象可以用数组来存放,通过下面两个步骤来实现。
1 声明以类为数据类型的数组变量,并用new
分配内存空间给数组。
2 用new
产生新的对象,并分配内存空间给它。
下面介绍4种方式来定义对象数组
方式一:静态方式
person p1[] = { new person(), new person(), new person() };
方式二:动态初始化化
person p2[]; p2 = new person[3]; for(int i=0;i<p2.length;i++) { p2[i] = new person(); }
方式三:数组元素指向所定义的对象
person p3[]; p3 = new person[3]; p3[0] = new person(); p3[1] = new person(); p3[2] = new person();
方式四:创建对象数组,并分配对象空间
person p4[] = new person[3]; p3[0] = new person(); p3[1] = new person(); p3[2] = new person();
二 对象数组实战
1 代码
class person { string name = "小明"; int age = 5; public person() { } // 构造函数,创建新对象时调用 public person( string name, int age ) { this.name = name ; this.age = age ; } public string talk() { return "我是:" + this.name + ",今年:" + this.age + "岁"; } } public class objectarray { public static void main(string[] args) { // 静态方式 person p1[] = { new person(), new person(), new person() }; // 动态方式 person p2[]; p2 = new person[3]; for(int i=0;i<p2.length;i++) { p2[i] = new person(); } // 数组元素指向所定义的对象 person p3[]; p3 = new person[3]; p3[0] = new person(); p3[1] = new person(); p3[2] = new person(); // 创建对象数组,并分配内存空间 person p4[] = new person[3]; p4[0] = new person(); p4[1] = new person(); p4[2] = new person(); for( int i = 0; i <p4.length; ++i ) { system.out.println( p4[i].talk( ) ) ; } person p[] = { new person( "张三", 25 ), new person( "李四", 30 ), new person( "王五", 35 ) }; for( int i = 0; i <p.length; ++i ) { system.out.println( p[i].talk( ) ) ; } } }
2 运行
我是:小明,今年:5岁
我是:小明,今年:5岁
我是:小明,今年:5岁
我是:张三,今年:25岁
我是:李四,今年:30岁
我是:王五,今年:35岁
三 代码图解
person per[]; per = new person[3]; per[0] = new person(); per[1] = new person(); per[2] = new person();
参考
四 实战
1 代码
public class test { public static void main(string[] args) { person[] ps = new person[3]; // 声明一个对象数组,里面有三个对象 system.out.println("---------------数组声明后-------------------"); for (int x = 0; x < ps.length; x++) { system.out.print(ps[x] + " "); // 循环输出 } // 创建3个人,并实例化 person p1 = new person("jerry", 18); person p2 = new person("tom", 20); person p3 = new person("rose", 25); ps[0] = p1; // 实例化第一个元素 ps[1] = p2; // 实例化第二个元素 ps[2] =p3; // 实例化第三个元素 system.out.println("\n---------------对象实例化-------------------"); for (int x = 0; x < ps.length; x++) { system.out.print(ps[x] + " "); } } } class person { private string name; // 姓名属性 private int age; // 年龄属性 public person(string name, int age) { // 通过构造方法设置内容 this.name = name; // 为姓名赋值 this.age = age; // 为年龄赋值 } @override public string tostring() { return "person [name=" + name + ", age=" + age + "]"; } }
2 运行
---------------数组声明后-------------------
null null null
---------------对象实例化-------------------
person@6d06d69c person@7852e922 person@4e25154f
3 图解