Java中对象数组的使用
程序员文章站
2022-07-16 08:17:49
...
一 点睛
对象可以用数组来存放,通过下面两个步骤来实现。
1 声明以类为数据类型的数组变量,并用new分配内存空间给数组。
2 用new产生新的对象,并分配内存空间给它。
下面介绍4种方式来定义对象数组
方式一:静态方式
Person p1[] = {
new Person(),
new Person(),
new Person()
};
方式二:动态初始化化
Person p2[];
p2 = new Person[3];
for(int i=0;i<p2.length;i++)
{
p2[i] = new Person();
}
方式三:数组元素指向所定义的对象
Person p3[];
p3 = new Person[3];
p3[0] = new Person();
p3[1] = new Person();
p3[2] = new Person();
方式四:创建对象数组,并分配对象空间
Person p4[] = new Person[3];
p3[0] = new Person();
p3[1] = new Person();
p3[2] = new Person();
二 对象数组实战
1 代码
class Person
{
String name = "小明";
int age = 5;
public Person()
{
}
// 构造函数,创建新对象时调用
public Person( String name, int age )
{
this.name = name ;
this.age = age ;
}
public String talk()
{
return "我是:" + this.name + ",今年:" + this.age + "岁";
}
}
public class ObjectArray
{
public static void main(String[] args)
{
// 静态方式
Person p1[] = {
new Person(),
new Person(),
new Person()
};
// 动态方式
Person p2[];
p2 = new Person[3];
for(int i=0;i<p2.length;i++)
{
p2[i] = new Person();
}
// 数组元素指向所定义的对象
Person p3[];
p3 = new Person[3];
p3[0] = new Person();
p3[1] = new Person();
p3[2] = new Person();
// 创建对象数组,并分配内存空间
Person p4[] = new Person[3];
p4[0] = new Person();
p4[1] = new Person();
p4[2] = new Person();
for( int i = 0; i <p4.length; ++i )
{
System.out.println( p4[i].talk( ) ) ;
}
Person p[] = {
new Person( "张三", 25 ),
new Person( "李四", 30 ),
new Person( "王五", 35 )
};
for( int i = 0; i <p.length; ++i )
{
System.out.println( p[i].talk( ) ) ;
}
}
}
2 运行
我是:小明,今年:5岁
我是:小明,今年:5岁
我是:小明,今年:5岁
我是:张三,今年:25岁
我是:李四,今年:30岁
我是:王五,今年:35岁
三 代码图解
Person per[];
per = new Person[3];
per[0] = new Person();
per[1] = new Person();
per[2] = new Person();
参考
https://blog.csdn.net/qq_35649064/article/details/83472936
https://blog.csdn.net/lxxiang1/article/details/82320720
四 实战
1 代码
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 + "]";
}
}
2 运行
---------------数组声明后-------------------
null null null
---------------对象实例化-------------------
aaa@qq.com aaa@qq.com aaa@qq.com
3 图解
上一篇: Linux obuntu里 新开一个命令终端的快捷键是什么?
下一篇: 小程序 SB指数计算器