a
=
new
int[3]
这里new指定三个操作:在堆区为数组分配空间;为数组每个元素附默认值;返回数组对象的引用。
数组对象一旦创建好了就不能改变其长度,new操作必须指定数组长度。数组长度可以为0表示无元素,直接初始化不能指定长度,例如:int
a
=
{1,2,3}
Java创建对象数组然后构造方法实例化,如下:
package com.testimport java.util.Arrays
public class Employee {
/**
* 员工编号
*/
private String number
/**
* 员工姓名
*/
private String name
/**
* 员工薪水
*/
private double salary
/**
* 无参数构造函数
*/
public Employee() {
System.out.println("调用了构造函数方法一,实例化对象")
}
/**
* 给属性赋值构造函数
* @param number
* @param name
* @param salary
*/
public Employee(String number, String name, double salary) {
super()
this.number = number
this.name = name
this.salary = salary
System.out.println("调用构造函数方法二,实例化对象")
}
public static void main(String[] args) {
//构造Employee对象数组为2长度
Employee[] emp=new Employee[2]
//员工一(实例化),并且构造函数里设置值
Employee e1 = new Employee("e0001", "xiaoming", 5000.0)
//员工二(实例化),用set设置值,get的话可以获取到员工某个属性
Employee e2 = new Employee()
e2.setName("小二")
e2.setNumber("e0002")
e2.setSalary(5500.1)
//将实例化的对象存进数组中
emp[0]=e1
emp[1]=e2
System.out.println("实例化的数组对象为:"+Arrays.toString(emp))
}
public String getNumber() {
return number
}
public void setNumber(String number) {
this.number = number
}
public String getName() {
return name
}
public void setName(String name) {
this.name = name
}
public double getSalary() {
return salary
}
public void setSalary(double salary) {
this.salary = salary
}
@Override
public String toString() {
return "Employee [number=" + number + ", name=" + name + ", salary=" +
salary + "]"
}
}
运行结果:
调用构造函数方法二,实例化对象
调用了构造函数方法一,实例化对象
实例化的数组对象为:[Employee [number=e0001, name=xiaoming, salary=5000.0], Employee [number=e0002, name=小二, salary=5500.1]]
一般定义数组有很多种,我只举一个基本类型,如下:int [] arr = new int[这里给数组一个长度];或者 int [] arr = {这里直接给数组赋值}
不管用哪一种定义数组,arr就是数组类型的对象。你可以操作其数组:arr[0] = 1;这样就是给数组赋值,如果是第二种定义就是修改掉原先数组的值。
希望能帮到你!