A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zealler   /  2017-7-1 17:29  /  3553 人查看  /  27 人回复  /   2 人收藏 转载请遵从CC协议 禁止商业使用本文

kang1027 发表于 2017-7-1 23:05
好好搬砖,学什么java

工地不适合我

来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
回复 使用道具 举报
你只是创建了数组,数组里面三个对象默认是null,你用null去调用方法肯定空指针
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
前面用变量接收再用构造赋值。。
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
我觉得,根本问题是你不清楚,构造方法是什么时候调用,在引用数据类型(也就是所说的对象)创建的时候,jvm会自动调用构造方法,也就是说每出现一个new,就会调用一次构造方法,而对于set或者get方法(没有用静态修饰),是属于对象的,也就是说,在对象存在以后才会调用set get方法,这就有了先后的顺序,构造方法的调用一定是在成员方法之前。你在创建Student数组时,数组元素如果不是new创建,那么会自动赋值为null。本人也才开始学习java,才疏学浅,如果有说错的地方,欢迎指出。
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
newu 黑马帝 2017-7-2 08:02:57
26#
谢谢分享 赞一个
回复 使用道具 举报
IceLoveInFire丶 发表于 2017-7-2 00:16
你只是创建了数组,数组里面三个对象默认是null,你用null去调用方法肯定空指针
...

所以循环里面开头加一个Student sarr=new Student ()就行了吧,声明他是student类对象
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
你要在上一个循环中就添加到集合里面去
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 加入黑马