Java中对象数组的使用方法详解

 更新时间:2019年08月30日 09:54:36   作者:cakincqm  
这篇文章主要介绍了Java中对象数组的使用方法,结合实例形式分析了java对象数组的功能、定义、初始化与相关使用技巧,需要的朋友可以参考下

本文实例讲述了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();

参考

https://www.jb51.net/article/168857.htm

https://www.jb51.net/article/168862.htm

四 实战

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 图解

更多关于java相关内容感兴趣的读者可查看本站专题:《Java数组操作技巧总结》、《Java字符与字符串操作技巧总结》、《Java数学运算技巧总结》、《Java数据结构与算法教程》及《Java操作DOM节点技巧总结

希望本文所述对大家java程序设计有所帮助。

相关文章

  • 深入剖析Java中String类的concat方法

    深入剖析Java中String类的concat方法

    这篇文章主要介绍了Java中String类的concat方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • java浏览器文件打包下载过程解析

    java浏览器文件打包下载过程解析

    这篇文章主要介绍了java浏览器文件打包下载过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • 基于Integer值判断是否相等的问题

    基于Integer值判断是否相等的问题

    这篇文章主要介绍了基于Integer值判断是否相等的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • SpringBoot实现在webapp下直接访问html,jsp

    SpringBoot实现在webapp下直接访问html,jsp

    这篇文章主要介绍了SpringBoot实现在webapp下直接访问html,jsp问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • IDEA创建parent项目(聚合项目)

    IDEA创建parent项目(聚合项目)

    这篇文章主要介绍了IDEA创建parent项目(聚合项目),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • 如何避免在Java 中使用双括号初始化

    如何避免在Java 中使用双括号初始化

    这篇文章主要介绍了如何避免在Java中使用双括号初始化,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07
  • SpringBoot中最常用的5个内置对象使用方法

    SpringBoot中最常用的5个内置对象使用方法

    这篇文章主要给大家介绍了关于SpringBoot中最常用的5个内置对象使用的相关资料,在学习springboot的过程中,发现了springboot非常多的优点和特性,需要的朋友可以参考下
    2023-08-08
  • Sentinel核心类之Entry类解读

    Sentinel核心类之Entry类解读

    这篇文章主要介绍了Sentinel核心类之Entry类解读,Sentinel中Entry可以理解为每次进入资源的一个凭证,如果调用SphO.entry()或者SphU.entry()能获取Entry对象,代表获取了凭证,没有被限流,否则抛出一个BlockException,需要的朋友可以参考下
    2023-12-12
  • JAVA浮点数计算精度损失底层原理与解决方案

    JAVA浮点数计算精度损失底层原理与解决方案

    本文主要介绍了JAVA浮点数计算精度损失底层原理与解决方案。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • APT 注解处理器实现 Lombok 常用注解功能详解

    APT 注解处理器实现 Lombok 常用注解功能详解

    这篇文章主要为大家介绍了使用APT 注解处理器实现 Lombok 常用注解功能详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09

最新评论