• java对象数组


    问题描述:

        java 对象数组的使用

    问题解决:

    数组元素可以是任何类型(只要所有元素具有相同的类型)

    数组元素可以是基本数据类型

    数组元素也可以是类对象,称这样的数组为对象数组。在这种情况下,数组的每一个元素都是一个对象的引用。

    例如

    BankAccount [ ] accounts;或 BankAccount accounts[ ];

    定义了一个存储BankAccount类对象的数组。

    与C、C++不同,Java在数组的定义中并不为数组元素分配内存,因此[ ]中不需指明数组中元素的个数,即数组长度,而且对于如上定义的数组是不能引用的,必须经过初始化才可以引用。

    对象数组初始化

    分为静态初始化和动态初始化

    静态初始化:在定义数组的同时对数组元素进行初始化, 例如:

    BankAccount[] accounts = { new BankAccount(“Zhang", 100.00),

    new BankAccount(“Li", 2380.00),

    new BankAccount(“Wang", 500.00),

    new BankAccount(“Liu", 175.56),

    new BankAccount(“Ma", 924.02)

    };

    动态初始化:使用运算符new为数组分配空间,对于基本类型的数组,其格式如下:

    type arrayName[ ]=new type[arraySize];

    type[ ] arrayName=new type[arraySize];

    对于对象数组,使用运算符new只是为数组本身分配空间,并没有对数组的元素进行初始化。即数组元素都为空,如图。

    clipboard

    具体实例

    clipboard

    注:

        以上OArray[] array=new OArray[5];只是对象数组本身分配空间,并没有对数组元素进行初始化

    因此运行程序会报错:

    clipboard

    出错行为红色框中内容

    正确的对象数组使用方法:

    clipboard

    注:

        如上使用new为对象数组分配空间,然后对数组元素进行初始化。

    clipboard

    注:

        对于基本数据类型,采用new初始化数组时,数组元素也进行了相应的初始化。

  • 相关阅读:
    ucoreOS_lab5 实验报告
    ucoreOS_lab4 实验报告
    ucoreOS_lab3 实验报告
    ucoreOS_lab2 实验报告
    Mac OSX(Mac OS10.11) 安装 pwntools 失败的最新解决方案
    [最全算法总结]我是如何将递归算法的复杂度优化到O(1)的
    ucoreOS_lab1 实验报告
    Mac下安装npm全局包提示权限不够
    【新特性速递】将纯色背景转换为内置主题!
    【新特性速递】回发时改变表格标题栏和数据!
  • 原文地址:https://www.cnblogs.com/luosongchao/p/3298150.html
Copyright © 2020-2023  润新知