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程序设计有所帮助。

(0)

相关推荐

  • Java对象数组定义与用法详解

    本文实例讲述了Java对象数组定义与用法.分享给大家供大家参考,具体如下: 所谓的对象数组,就是指包含了一组相关的对象,但是在对象数组的使用中一定要清楚一点:数组一定要先开辟空间,但是因为其是引用数据类型,所以数组里面的每一个对象都是null值,则在使用的时候数组中的每一个对象必须分别进行实例化操作. 对象数组的声明 先定义,再开辟空间 类名称 对象数组名[] = null; 对象数组名 = new 类名称[长度]; 定义并开辟数组 类名称 对象数组名[] = new 类名称[长度]; 在声明对

  • java 对象数组排序

    废话不多说直接奉上代码先: import java.util.*; import java.io.*; public class Main{ static int [] dp = new int [1010]; public static void main(String [] args)throws IOException{ Mouse [] mice = new Mouse [1010]; FileReader fr=new FileReader("in.txt"); //读取文件

  • Java获取json数组对象的实例讲解

    如下所示: JSONArray jsonArray1 = jsonObject.getJSONArray("result"); for (int i = 0; i < jsonArray1.length(); i++) { JSONObject temp = (JSONObject) jsonArray1.get(i); String x = temp.getString("x"); String y = temp.getString("y"

  • Java二维数组实战案例

    本文实例讲述了Java二维数组.分享给大家供大家参考,具体如下: 一 点睛 1 每行的元素个数不同的二维数组 Java定义二维数组更加灵活,允许二维数组中的每行的元素个数不相等,这点与其他编程语言不同,例如下面这个二维数组,其中第1行有4个元素,第2行有3个元素,第3行有5个元素 int [][] num={ {1,2,3,4}, {1,2,3}, {1,2,3,4,5} }; 下面的语句是声明整型的二维数组num并分配空间,其中第1行4个元素,第2行3个元素,第3行5个元素 int [][]

  • 使用Java进行Json数据的解析(对象数组的相互嵌套)

    这段时间我们在做一个英语翻译软件的小小小APP,涉及到了对Json数据的解析,所以特地来总结一下! 假设我们要对如下数据进行解析,其实在平时,返回的Json数据是很乱的,很难分清数据的关系,这是经过相关工具美化后的结果 { "translation": [ "爱" ], "basic": { "us-phonetic": "lʌv", "phonetic": "lʌv"

  • 浅谈java面向对象的数组化信息处理

    虽然非常简单的东西,但对于一些自学的新手和前期理解的不够深的萌新来说,应该会有很大的帮助,有助于理解. 初学面向对象的时候,我想许多同学对此很纳闷.简单的问题复杂化,多此一举诸之云云. 那么往下看: package cn.bdqn.test3; import java.util.Scanner; public class Test1 { public static void main(String[] args) { //创建两个管理员对象 Admin a1 = new Admin(); a1.

  • Java基础学习笔记之数组详解

    本文实例讲述了Java基础学习笔记之数组.分享给大家供大家参考,具体如下: 数组的定义于使用 1:数组的基本概念 一组相关变量的集合:在Java里面将数组定义为引用数据类型,所以数组的使用一定要牵扯到内存分配:想到了用new 关键字来处理. 2:数组的定义格式 区别: 动态初始化后数组中的每一个元素的内容都是其对应数据类型的默认值,随后可以通过下标进行数组内容的修改: 如果希望数组定义的时候就可以提供内容,则采用静态初始化的方式: a:数组的动态初始化(声明并初始化数组): 数据类型 数组名称

  • java实现把对象数组通过excel方式导出的功能

    一.导入相关jar包,pom依赖如下: <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>RELEASE</version> </dependency> 二.开始撸代码 1.如果导出功能使用的比较多,可以将其做成一个工具类,对我下面贴出的代码进行改造 //结果返回的是写入的记录数(以下用的是自

  • js接收并转化Java中的数组对象的方法

    在做项目时,要向ocx控件下发命令,就要在js中得到java中的对象,然后拼成一种格式,下发下去...当对象是一个时比较简单,但如果对象是一个数组时,就略显麻烦了. 开始我以为有简单的方式,可以直接进行内容的转化,后来发现不可以,网上说js与java没有桥接的东西,所以呢: 我的解决方案是:在action层,将java的对象数组转化为Json串,而在js中,再把json转化为数组对象. 1.将java的对象数组转化为Json串: 要用到两个类: net.sf.json.JSONObject ne

  • java对象转成byte数组的3种方法

    java对象转成byte数组,在使用netty进行通信协议传输的场景中是非常常见的.比如,协议有一些定好的协议头.classid,messageid等等信息,还有一个关键的内容是payload.不同的协议内容都会放到payload中,而这个payload往往就是一个byte数组. 那么,如何方便的将一个java对象构造成一个byte数组呢? 1 bytebuf填充 我们以下面这个对象举例: public class UgvData implements Serializible{ private

随机推荐