Java中对象作为传递参数的函数如何调用

publicclassBankAccount{publicstaticvoidmain(String[]args){person[]ps=newperson[3];//建... public class BankAccount {
public static void main(String[] args)
{
person []ps=new person[3];//建立3个person类的对象
askAllToEat(ps);//调用函数
}
static void askAllToEat(person[] ps){//将依类建立的对象作为参数传入函数中
for(int i=0;i<ps.length;i++){
ps[i].eat();//调用类中的方法
ps[i].sleep();//调用类中方法
}
}
}
//person类如下
public class person{
String ID,Name,age;
void sleep(){
System.out.println("I am Person,I am sleeping");}//定义sleep方法
void eat(){
System.out.println("I am Person,I am eating");}//定义eat方法
}

错误提示:
Exception in thread "main" java.lang.NullPointerException
at BankAccount.askAllToEat(BankAccount.java:9)
at BankAccount.main(BankAccount.java:5)
展开
 我来答
wh猎人
2016-10-27 · TA获得超过1125个赞
知道大有可为答主
回答量:1157
采纳率:89%
帮助的人:655万
展开全部
NullPointerException说明有对象为空(null)。

person []ps=new person[3];//建立3个person类的对象

---上面这句话有问题
这句话是建立一个长度为3的person数组,但是数组内对象还是空的。
需要用ps[0]=new person();这种方式逐个将数组内对象初始化。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式