java 对自定义数据类型的引用问题

publicclassExample{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubt... public class Example {
public static void main(String[] args){
// TODO Auto-generated method stub
text mytext[]=new text[10];
for(int i=0;i<10;i++)
System.out.print(mytext[i].i+" ");
}

}
class text{
int i;
text() {i=0;}
}
请问这个例子中为什么会出现 java.lang.NullPointerException错误,我刚刚入门java,请教一下。
展开
 我来答
lionheart1988
2015-08-07 · TA获得超过6445个赞
知道大有可为答主
回答量:5772
采纳率:72%
帮助的人:2478万
展开全部
text mytext[]=new text[10];

你这里创建了一个长度10 的类型 text的数组,创建完成后该数组的10个元素都是null,是空的,你没有给这个数组中的元素赋值
在这种情况下你System.out.print(mytext[i].i+" ");试图打印数组中元素的i属性值,

此时的mytext[i]是null
null对象是没有i这个属性的,所以报了异常
追问
我在后面加了一句
for(int i=0;i<10;i++)
mytext[i]=new text();
果然就ok了,刚开始还认为new text[]自己会实例化呢。
追答
只有原生数据类型的数组在初始化的时候有默认值,其他类型的数组初始化之后里面的内容都是null
无月的天很蓝
2015-08-07 · TA获得超过1779个赞
知道大有可为答主
回答量:2551
采纳率:44%
帮助的人:1275万
展开全部
我不说话了~楼上说得对
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式