java中对象数组的创建与初始化

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

???

 

   

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值