对象数组的概念: 如果一个数组中的元素是对象类型,则称该数组为对象数组。 当需要一个类的多个对象时,应该用该类的对象数组来表示,通过改变下标值就可以访问到不同的对象。 对象数组的定义和使用: 对象数组的定义与一般数组的定义类似,但是需要为每一个元素实例化。 对象数组的声明形式是: 类名 对象数组名 [ ]; 为对象数组分配内存空间: 对象数组名=new 类名[数组长度];//注意 :此处不是构造方法了 可以将对象数组的声明和创建用一条语句来完成。例如:定义一个学生类对象数组,可以用下面的语句定义:Student stu[ ]=new Student[30]; stu [ ]是对象数组名,它所表示的数组一共有30个元素,每一个元素都是Student类的对象名,还没有实例化,所以还必须为每一个元素实例化。比如如下的过程: for(int i=0;i

//设计一个雇员类,并创建雇员类的对象数组,输出每个雇员的信息

class Employee {   //雇员类

private String id;  //编号

private String name; //姓名

private int age;     //年龄

private String vocation; //职务

public Employee(){} //构造方法一

public Employee(String id,String name,int age,String vocation){

set(id,name,age,vocation);

}

//设置属性的方法

public void set(String id,String name,int age,String vocation){

this.id=id;

this.name=name;

this.age=age;

this.vocation=vocation;

}

public String toString() {

String mess=id+","+name+","+age+","+vocation;

return mess;

}

}

public class Example4  {

public static void main(String[] args) {

Employee 雇员[]=new Employee[3];

int i;

for(i=0;i

雇员[i]=new Employee();//如果没有写构造方法一,而这样写,会出错

//因为类中有有参的构造方法,系统就不会在默认给无参的构造方法了,

//所以当类中写了有参的构造方法后,要用无参的构造方法时必须写出来

//每一个对象元素分别初始化

雇员[0].set("0001","张文军",50,"总经理");

雇员[1].set("0002","李琦",45,"副经理");

雇员[2].set("1016","张丽",28,"秘书");

for (Employee employee:雇员)

System.out.println(employee.toString());

}

}

普通型for循环和增强型for循环 普通型

a={1,2,3,4,5};

for(int i=0;i

System.out.println9(a[1]);

}

增强型

for(int element:a) {

System.out.println(element);

}

两者结果相同,但是增强型更为简洁

对象数组还可以采用初始化的方法创建。创建形式是: 类名 对象数组名[ ]={对象列表};

设计一个雇员类,创建雇员类的对象数组并初始化,输出每个雇员的信息,仍然沿用上面的Employee类,程序如下

class Employee {   //雇员类

private String id;  //编号

private String name; //姓名

private int age;     //年龄

private String vocation; //职务

public Employee(){} //构造方法一

public Employee(String id,String name,int age,String vocation){

set(id,name,age,vocation);

}

//设置属性的方法

public void set(String id,String name,int age,String vocation){

this.id=id;

this.name=name;

this.age=age;

this.vocation=vocation;

}

public String toString() {

String mess=id+","+name+","+age+","+vocation;

return mess;

}

}

public class Example11 {

public static void main(String[] args) {

//先创建3个雇员对象

Employee employee1=new Employee("0001","张文军",50,"总经理");

Employee employee2=new Employee("0005","李琦",45,"副经理");

Employee employee3=new Employee("1016","张丽",28,"秘书");

//声明对象数组并直接初始化

Employee 雇员1[]={employee1,employee2,employee3};

output(雇员1);//输出雇员信息

System.out.println("------------------");//分割线

//声明对象数组并直接初始化,初始化元素直接调用

//构造方法创建对象

Employee 雇员2[]={new Employee("0001","张文军",50,"总经理"),

new Employee("0005","李琦",45,"副经理"),

new Employee("1016","张丽",28,"秘书")};

output(雇员2);

}

//定义方法用于输出雇员信息,注意方法是private,static

private static void output(Employee 雇员[]){

for(Employee employee:雇员)

System.out.println(employee.toString());

}

}

java创建数组对象_java对象数组 创建对象数组,初始化对象数组相关推荐

  1. JAVA不同类型数组重载_JAVA补课-DAY1:方法重载和数组

    IDEA简单方法使用 快捷键 Ctrl+Alt+L,IDEA代码格式化 Ctrl+/单行注释,重复按取消 Ctrl+Shift+/多行注释,重复可取消 5.fori<==>for (int ...

  2. java 由接口构造对象_Java学习笔记04——类和对象|抽象和接口|构造方法与继承...

    六.Java类 1.  Java中用关键字class来创建类. 2.  类中属性和方法称为类的成员;类的声明和方法要在同一个文件内,不同于C++. 3.  类的定义: [] class [extend ...

  3. java子类引用指向父类对象_java 中父类引用指向子类对象时

    继承和方法重写已经很熟悉了,这次 主要验证一下,当一个父类的引用指向一个对象的时候,它会调用子类的方法,而不是父类的. 引用在栈内存中存在对象的内存地址.真正的对象(通过 new Student()创 ...

  4. java session 生命周期_java之hibernate之session中对象的生命周期

    1. session是用来执行对象的crud操作,并且session是对象事务工厂.session是线程级别的,所以生命周期比较短. 2.session中对象的生命周期图: 3.session中对象的 ...

  5. java创建线程代码_Java创建与结束线程代码示例

    本文讲述了在Java中如何创建和结束线程的最基本方法,只针对于Java初学者.一些高级知识如线程同步.调度.线程池等内容将会在后续章节中逐步深入. 创建线程 创建普通线程有两种方式,继承Thread类 ...

  6. java创建文件 权限_JAVA创建文件后权限不足的问题,无法设置权限的问题

    JAVA创建文件后权限不足的问题,无法设置权限的问题 凯哥java 凯哥java 前言: 在工作中,项目使用到文件上传,这个功能是很常见的吧.今天,凯哥修改自己的公众号的时候,遇到了一个问题:那就是上 ...

  7. Java的基础方法Java的对象_java基础之 创建对象的几种方式

    有4种显式地创建对象的方式: 1.用new语句创建对象,这是最常用的创建对象的方式. 2.运用反射手段,调用java.lang.Class或者java.lang.reflect.Constructor ...

  8. java 循环list 对象_java计算list集合中重复对象的次数及for循环内外创建对象

    我的需求:计算字符串集合中"数值"出现的次数,然后在for循环中计算"数值"及出现的次数 解决方案: 1.使用collections类中的frequency(集 ...

  9. java获取excle表格对象_Java使用excel工具类导出对象功能示例

    本文实例讲述了Java使用excel工具类导出对象功能.分享给大家供大家参考,具体如下: package com.gcloud.common; import org.apache.poi.ss.use ...

  10. java 注解 对象_Java基础-学习使用Annotation注解对象

    Java基础-学习使用Annotation注解对象 注解(也被称为元数据)为我们在代码中添加信息提供了一种形式化的方法,使我们可以在稍后某 个时刻非常方便地使用这些数据 1-1:基本语法 Java S ...

最新文章

  1. ios 项目的.gitignore
  2. Bminer 7.0.0 ETH挖矿教程(Linux 64)
  3. MATLAB 半球面
  4. tensorflow 张量维度变化
  5. 完全理解python迭代对象_完全理解Python迭代对象、迭代器、生成器
  6. 汇编指令:ldr和str,ldm和stm的区别
  7. Onvif开发之代码框架生成篇
  8. 使用pytesseract识别简单验证码
  9. 从 Ops 到 NoOps,阿里文娱智能运维的关键:自动化应用容量管理
  10. Jekyll本地搭建开发环境以及Github部署流程
  11. 含有百分数的简便运算_青岛版三年级上册数学6.1不含括号的混合运算(一)微课知识点精讲+练习...
  12. wxWidgets第十七课 采用AGG渲染库
  13. 使用java实现数据库编程 第一章:数据库的设计
  14. 最新小米线刷救砖工具分享+支持全系通用
  15. 春节过后,外贸人如何快速抓住采购旺季,高效跟进客户
  16. RubyOnRails培训大纲
  17. 加粉软件直接把你的银行卡信息给泄露了
  18. 创建数据库,库名为考生姓名拼音的缩写,例如考生姓名为张三
  19. 《大话设计模式》读后感
  20. 范罗士空气净化器PT65评测

热门文章

  1. Kubernetes集群二进制部署flannel
  2. oracle bi enterprise edition,Oracle BI Publisher 企业版在WIN7下的安装(BI Publisher Enterprise Edition)...
  3. 阿里巴巴大神发布的Java零基础笔记,实战教程多到手软,跪了
  4. Java异常处理Exception——银行余额不足实例
  5. js关闭当前页面(窗口)的几种方式
  6. OpenVR之IVRCompositor
  7. script 标签上的 defer 和 async 属性是什么?
  8. java jstack使用_jstack命令详解
  9. USES_CONVERSION的相关宏A2W、W2A使用注意事项
  10. U盘下载不了大文件??是打开的姿势不对!