欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java中对象数组的使用

程序员文章站 2022-07-16 08:17:49
...

一 点睛

对象可以用数组来存放,通过下面两个步骤来实现。

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();

Java中对象数组的使用

参考

https://blog.csdn.net/qq_35649064/article/details/83472936

https://blog.csdn.net/lxxiang1/article/details/82320720

四 实战

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
---------------对象实例化-------------------
aaa@qq.com aaa@qq.com aaa@qq.com

3 图解

Java中对象数组的使用