java中对象数组的创建与初始化
2006-04-22 17:37
465 查看
import java.io.*;
class BankAccount{
private double balance;
public BankAccount(double openingBanlance)
{
balance=openingBanlance;
}
public void deposit(double amount)
{
balance=balance+amount;
}
public void withdraw(double amount)
{
balance=balance-amount;
}
public void display()
{
System.out.println("balance" + balance);
}
}
import java.io.*;
class BankApp{
public static void main(String []args)
{
BankAccount bal[]=new BankAccount[4];
System.out.println(bal[0]);
System.out.println(bal[1]);
System.out.println(bal[2]);
System.out.println(bal[3]);
bal[0]=new BankAccount(100.00);
bal[0].display();
bal[1]=new BankAccount(111.00);
bal[1].display();
System.out.println(bal[0]);
System.out.println(bal[1]);
}
}
1 当只是定义一个大小为4的对象数组时(BankAccount bal[]=new BankAccount[4]),对象数组只是4个引用,并没有内容。所以运行
System.out.println(bal[0]);
System.out.println(bal[1]);
System.out.println(bal[2]);
System.out.println(bal[3]);
得到的结果为:null null null null
为指向空的引用,因为4个引用都没有初始化,指向相应的内存区域。
2
bal[0]=new BankAccount(100.00);
bal[0].display();
bal[1]=new BankAccount(111.00);
bal[1].display();
System.out.println(bal[0]);
System.out.println(bal[1]);
分别初始化 bal[0] bal[1] ,使引用有了指向。
运行结果为:BankAccount@1fb8ee3
BankAccount@61de33
结果分析: 是不是因为引用都是BankAccount数组的,所以指向地址为BankAccount@1fb8ee3
BankAccount@61de33
???
class BankAccount{
private double balance;
public BankAccount(double openingBanlance)
{
balance=openingBanlance;
}
public void deposit(double amount)
{
balance=balance+amount;
}
public void withdraw(double amount)
{
balance=balance-amount;
}
public void display()
{
System.out.println("balance" + balance);
}
}
import java.io.*;
class BankApp{
public static void main(String []args)
{
BankAccount bal[]=new BankAccount[4];
System.out.println(bal[0]);
System.out.println(bal[1]);
System.out.println(bal[2]);
System.out.println(bal[3]);
bal[0]=new BankAccount(100.00);
bal[0].display();
bal[1]=new BankAccount(111.00);
bal[1].display();
System.out.println(bal[0]);
System.out.println(bal[1]);
}
}
1 当只是定义一个大小为4的对象数组时(BankAccount bal[]=new BankAccount[4]),对象数组只是4个引用,并没有内容。所以运行
System.out.println(bal[0]);
System.out.println(bal[1]);
System.out.println(bal[2]);
System.out.println(bal[3]);
得到的结果为:null null null null
为指向空的引用,因为4个引用都没有初始化,指向相应的内存区域。
2
bal[0]=new BankAccount(100.00);
bal[0].display();
bal[1]=new BankAccount(111.00);
bal[1].display();
System.out.println(bal[0]);
System.out.println(bal[1]);
分别初始化 bal[0] bal[1] ,使引用有了指向。
运行结果为:BankAccount@1fb8ee3
BankAccount@61de33
结果分析: 是不是因为引用都是BankAccount数组的,所以指向地址为BankAccount@1fb8ee3
BankAccount@61de33
???
相关文章推荐
- Java数组的创建以及初始化
- Java数组的创建与初始化
- 浅析Java内存和创建对象时成员的初始化过程
- Java数组声明、创建、初始化
- 子类的创建及初始化过程_Thinking in Java(4)_读书笔记(1)
- Java数组声明、创建、初始化
- ZZ:Java数组声明、创建、初始化
- java数组的声明创建及初始化
- 黑马程序员-Java数组声明、创建、初始化、及排序
- 关于Java数组声明、创建、初始化的相关介绍
- Java数组声明、创建、初始化基础
- 深入理解Java对象的创建过程:类的初始化与实例化
- java中在创建对象时候的初始化顺序
- Java数组声明、创建、初始化
- java创建对象时初始化
- 浅谈Java数组声明、创建、初始化
- Java数组的声明,创建初始化
- OneExerciseOne创建一个类,它包含一个int域,一个char域,他们都没有初始化,验证Java执行了默认初始化
- Java:对象创建和初始化过程 推荐
- Java:对象创建和初始化过程