android object数组赋值_Java对象数组定义与用法详解

本文实例讲述了Java对象数组定义与用法。分享给大家供大家参考,具体如下:

所谓的对象数组,就是指包含了一组相关的对象,但是在对象数组的使用中一定要清楚一点:数组一定要先开辟空间,但是因为其是引用数据类型,所以数组里面的每一个对象都是null值,则在使用的时候数组中的每一个对象必须分别进行实例化操作。

对象数组的声明

先定义,再开辟空间

类名称 对象数组名[] = null;

对象数组名 = new 类名称[长度];

定义并开辟数组

类名称 对象数组名[] = new 类名称[长度];

在声明对象数组后 ,必须对每个数组成员进行实例化话 才能直接使用,否则报空指针异常!

动态初始化

先声明数组,然后对数组中的每一个对象必须分别进行实例化操作。

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 + "]";

}

}

执行结果如下:

---------------数组声明后-------------------

null null null

---------------对象实例化-------------------

Person [name=jerry, age=18] Person [name=tom, age=20] Person [name=rose, age=25]

下面是对上面对象数组初始化操作的内存图解:

静态初始化

类名称 对象数组名[] = new 类名称[] {对象,对象......};

public class Test {

public static void main(String[] args) {

// 声明一个对象数组,里面有三个对象,使用静态初始化方式

Person ps[] = { new Person("jerry", 18), new Person("tom", 20),

new Person("rose", 25)};

System.out.println("---------------数组输出-------------------");

for (int x = 0; x < ps.length; x++) {

System.out.print(ps[x] + " "); // 循环输出

}

}

}

执行结果如下:

---------------数组输出-------------------

Person [name=jerry, age=18] Person [name=tom, age=20] Person [name=rose, age=25]

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/453806.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Fiddler抓取https证书问题

正常的使用方法 Fiddler 抓包工具总结 大部分问题的解决方案 fiddler4在win7抓取https的配置整理 像我脸一样黑的解决方案 Fiddler https 证书问题 可能的解释&#xff1a; Fiddler自带两个cert engine&#xff0c;一个是makecert&#xff0c;一个是CertEnroll&#xff0c;可…

深度学习之目标检测:R-CNN、Fast R-CNN、Faster R-CNN

object detection 就是在给定的图片中精确找到物体所在位置&#xff0c;并标注出物体的类别。object detection 要解决的问题就是物体在哪里&#xff0c;是什么这整个流程的问题。然而&#xff0c;这个问题不是容易解决的&#xff0c;物体的尺寸变化范围很大&#xff0c;摆放物…

九江机器人餐厅_机器人精通200道佳肴 九江学院来了多位机器厨神

九江学院来了多位“机器厨神”●炒菜机一次能炒近10公斤菜&#xff0c;三四分钟就能出锅&#xff0c;味道也不错●煮饭机从淘米到煮熟全部自动机械化操作&#xff0c;效率提高了不少电脑开启&#xff0c;设定好程序&#xff0c;机器就可以自动运转&#xff0c;快速炒出美味可口…

深度学习之边框回归(Bounding Box Regression)

从rcnn&#xff0c; fast rcnn, faster rcnn, yolo, r-fcn, ssd&#xff0c;到cvpr的yolo9000。这些paper中损失函数都包含了边框回归&#xff0c;除了rcnn详细介绍了&#xff0c;其他的paper都是一笔带过&#xff0c;或者直接引用rcnn就把损失函数写出来了。前三条网上解释比较…

2018 年,React 将独占web前端框架鳌头?

相比 Angular 和 Vue&#xff0c; React 是 2017 年的主要 JS 框架&#xff0c;尤其是 React Native 以前所未有的速度提升自己。 Stateofjs 2017前端框架调查结果 相比较 2016 年的调查结果 所以 &#xff0c;1 年过去了&#xff0c;Vue.js 显然在前端框架中占据了领导地位&am…

ffmpeg的编译(for x86,for arm)安装及使用(网络资料整理)

ffmpeg编译及使用 1 ffmpeg介绍 ffmpeg是音视频的分离&#xff0c;转换&#xff0c;编码解码及流媒体的完全解决方案&#xff0c;其中最重要的就是libavcodec库。它被mplayer或者xine使用作为解码器。还有&#xff0c;国内比较流行的播放器影音风暴或MyMPC的后端ffdshow也是使…

python中other_Python other

最新项目django tinymcewrapper允许您轻松地将tinymce小部件添加到其他应用程序管理表单中&#xff0c;而无需修改其他应用程序。此包Python名称&#xff1a;djang ...2020-12-24已阅读: n次##这是什么&#xff1f;愚蠢的服务器可以帮助您模拟一些尚未实现的http服务&#xff0…

python 第三方模块之 pandas 操作 excel

python 解析 excel 对比 包版本xls读xlsx读xls写xlsx写备注xlrd1.1.0&#xff08;2017年8月22日&#xff09;√√2.0 之后不支持xlsxxlwt1.3.0&#xff08;2017年8月22日&#xff09;√openpyxl2.6.2&#xff08;2019年3月29日&#xff09;√√XlsxWriter1.2.1&#xff08;201…

JMeter响应断言详解

响应断言 &#xff1a;对服务器的响应进行断言校验 &#xff08;1&#xff09;应用范围: main sample and sub sample&#xff0c; main sample only &#xff0c; sub-sample only &#xff0c; jmeter variable    关于应用范围&#xff0c;我们大多数勾选“main sample on…

YUV / RGB 格式及快速转换

YUV是指亮度参量和色度参量分开表示的像素格式&#xff0c;而这样分开的好处就是不但可以避免相互干扰&#xff0c;还可以降低色度的采样率而不会对图像质量影响太大。 YUV是一个比较笼统地说法&#xff0c;针对它的具体排列方式&#xff0c;可以分为很多种具体的格式。转载一篇…

交换机分布缓存_交换机网络嗅探方法 如何欺骗交换机缓存

嗅探(sniff)&#xff0c;就是窃听网络上流经的数据包&#xff0c;而数据包里面一般会包含很多重要的私隐信息&#xff0c;如&#xff1a;你正在访问什么网站&#xff0c;你的邮箱密码是多少&#xff0c;你在和哪个MM聊QQ等等......而很多攻击方式(如著名的会话劫持)都是建立在嗅…

深度学习之 SSD(Single Shot MultiBox Detector)

目标检测近年来已经取得了很重要的进展&#xff0c;主流的算法主要分为两个类型&#xff1a; &#xff08;1&#xff09;two-stage方法&#xff0c;如R-CNN系算法&#xff0c;其主要思路是先通过启发式方法&#xff08;selective search&#xff09;或者CNN网络&#xff08;RP…

短时程突触可塑性(short-term synaptic plasticity)

介绍神经元的突触可塑性一般被认为是大脑学习与记忆的分子生物学机制&#xff0c;它是指突触传递效率增强或减弱的变化现象。若这种变化只持续数十毫秒到几分&#xff0c;便称之为短时程突触可塑性&#xff0c;其中效率增强与减弱分别叫做短时程增强&#xff08;short-term enh…

windows平台下vlc编译

转自:http://jeremiah.blog.51cto.com/539865/114190Jeremiah刚刚工作几个月&#xff0c;参与的第一个项目是与视频监控有关&#xff0c;分配给我的任务就是用开源的vlc做一个自己的播放器。对于开源项目来说&#xff0c;搭建起编译环境是第一步也是最重要的一步。Jeremiah在历…

python xgboost安装_win7 64 python2 xgboost安装

综述&#xff1a;安装Python3 环境下的xgboost 可以通过pip install &#xff0c; 在网址中下载对应版本&#xff1a; http://www.lfd.uci.edu/~gohlke/pythonlibs/#xgboost 来进行安装。但Python2在该网址下并没有相应的包&#xff0c;所以要下载xgboost源代码 然后编译。很麻…

深度学习之卷积神经网络 AlexNet

AlexNet 是 2012年ILSVRC 比赛冠军&#xff0c;远超第二名的CNN&#xff0c;比LeNet更深&#xff0c;用多层小卷积叠加来替换单个的大卷积&#xff0c;结构如下图所示。 ​​ 结构 预处理 原始图片&#xff1a;256∗256∗3256*256*3256∗256∗3 图像处理&#xff1a; 1.随机…

jstl处理栏目与子栏目_芬顿氧化法废水处理工程技术规范(征求意见稿)

日前&#xff0c;生态环境部印发《芬顿氧化法废水处理工程技术规范(征求意见稿)》&#xff0c;详情如下&#xff1a;各有关单位&#xff1a;为贯彻《中华人民共和国环境保护法》和《中华人民共和国水污染防治法》等法律法规&#xff0c;防治环境污染&#xff0c;改善环境质量&a…

深度学习之卷积神经网络 ZF Net

ZFNet出自论文《 Visualizing and Understanding Convolutional Networks》&#xff0c;作者Matthew D. Zeiler和Rob Fergus——显然ZFNet是以两位作者名字的首字母命名的。ZFNet通常被认为是ILSVRC 2013的冠军方法&#xff0c;但实际上ZFNet排在第3名&#xff0c;前两名分别是…

SIP与RTP综合应用5-RTP解包过程

RTP接收部分比较简单(不用考虑jitterbuffer等)&#xff0c;先从这里入手。 其实主要就3步&#xff1a; 1 创建一个udp&#xff0c;监听一个端口&#xff0c;比如5200。 2 收到RTP包&#xff0c;送到解包程序&#xff0c;继续收第 二个。 3 收齐一帧后&#xff0c;或保存文件&am…

JavaScript eval() 函数,计算某个字符串,并执行其中的的 JavaScript 代码。

JavaScript eval() 函数&#xff0c;计算某个字符串&#xff0c;并执行其中的的 JavaScript 代码。 适合用于计算器的计算&#xff0c;等。 例子&#xff1a; eval("x10;y20;document.write(x*y)") document.write(eval("22")) var x10 document.write(eva…