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只是为数组本身分配空间,并没有对数组的元素进行初始化。即数组元素都为空,如图。

具体实例

注:
以上OArray[] array=new OArray[5];只是对象数组本身分配空间,并没有对数组元素进行初始化
因此运行程序会报错:

出错行为红色框中内容
正确的对象数组使用方法:

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

注:
对于基本数据类型,采用new初始化数组时,数组元素也进行了相应的初始化。
java对象数组的更多相关文章
- JSon_零基础_007_将JSon格式的"数组"字符串转换为Java对象"数组"
将JSon格式的"数组"字符串转换为Java对象"数组". 应用此技术从一个json对象字符串格式中得到一个java对应的对象. JSONObject是一个“n ...
- java 对象数组
java 对象数组 from zhaocundang@163.com 先 用类声明数组: 再把类的实例赋给数组: package works; import java.util.Scanner; pu ...
- java对象数组的概述和使用
1 public class Student 2 { 3 // 成员变量 4 private String name; 5 private int age; 6 7 // 构造方法 8 public ...
- java 对象数组定义
下面代码实现了定义一个数组对象 public class Student { private String username; private int num; public Student(Stri ...
- JAVA 对象数组,加载图片实例 分类: Java Game 2014-08-14 16:57 80人阅读 评论(0) 收藏
主函数: package com.mywork; import java.awt.Color; import java.awt.Image; import javax.swing.ImageIcon; ...
- json字符串转java对象数组
需要引入json-lib-2.2-jdk15.jar和ezmorph-1.0.6.jar包 String itemStar = request.getParameter("itemStar& ...
- java对象与json串互转
1:java对象与json串转换: java对象—json串: JSONObject JSONStr = JSONObject.fromObject(object); String str = JSO ...
- JSON字符串与java对象的转换
所需的jar包: 1.commons-lang.jar 2.commons-beanutils.jar 3.commons-collections.jar 4.commons-logging.jar ...
- JSON 字符串 与 java 对象的转换
jsonLib 经典文章:http://json-lib.sourceforge.net/xref-test/net/sf/json/TestJSONObject.html // 引入相应的包 //j ...
随机推荐
- 自己封装的SqlHelper
using System; using System.Collections.Generic; using System.Configuration; using System.Data; using ...
- 返回页面,主页面不刷新window.history.go(-1),主页面刷新window.location.go(-1)
返回上一页,不刷新 window.history.go(-1) 返回上一页,刷新 window.location.go(-1)
- web安全实战
前言 本章将主要介绍使用Node.js开发web应用可能面临的安全问题,读者通过阅读本章可以了解web安全的基本概念,并且通过各种防御措施抵御一些常规的恶意攻击,搭建一个安全的web站点. 在学习本章 ...
- Delegate&Event
Delegate 1.基本类: public class Student { public int Id { get; set; } public string Name { get; set; } ...
- poj 3046 Ant Counting
Ant Counting Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 4982 Accepted: 1896 Desc ...
- 【转载】学习C++和编程的几个要点
1.把C++当成一门新的语言学习(和C没啥关系!真的.):2.看<ThinkingIn C++>,不要看<C++变成死相>:3.看<The C++ Programming ...
- java.util.LinkedList源码分析
public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, D ...
- struts2 的action 向页面传值
写一个Action类: public class LoginAction{ public String execute(){ return SUCCESS; } public void setValu ...
- CMakeLists实战解读--YouCompleteMe
原文转载自:Ricky.K http://www.cnblogs.com/rickyk/p/3877238.html 个人一直有一个想法,就是想出一系列关于CMakeLists.txt国外经典例子的实 ...
- Linux的网卡由eth0变成了eth1,如何修复 (转载)
Linux的网卡由eth0变成了eth1,如何修复 使用wmware安装了linux,安装成功后,使用的网卡是eth0,没有eth1.但是用过一段时间后,不知道为什么eth0无法使用,系统却自动生 ...