java通过一个包下的类中实例化另一个类为数字对象,但是赋值的时候出错,这是为什么 10

packagetestpackage1;publicclassMain_test1{publicstaticvoidmain(String[]args){//TODOAu... package testpackage1;

public class Main_test1 {

public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("#########MAIN FUNC###########");

TestClass1 tc[]=new TestClass1[1];
tc[0].num=1;
}

}

另一个类如下
package testpackage1;

public class TestClass1 {
public int num;
public String name;
public void setdata(int num,String name)
{
num=this.num;
name=this.name;
}
}
展开
 我来答
芦荟_老王
2016-08-22 · TA获得超过147个赞
知道答主
回答量:22
采纳率:0%
帮助的人:13万
展开全部
前面那个人在说什么啊,我告诉你很简单,因为你没有实例化
TestClass1 tc[]=new TestClass1[1]; 这一句你是建立一个TestClass数组,数组里的tc[0]是空的,你输出一下就知道,tc[0] == null;,没有任何内容

你既然想要一个,那就TestClass1 tc=new TestClass1();把他实例化
如果想要数组,那就tc[0] = new TestClass1(); 一个一个实例化,才会有元素
不过我建议你不用这种数组,用ArrayList<TestClass> list这样的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
细雨531
2016-08-22 · TA获得超过301个赞
知道小有建树答主
回答量:126
采纳率:0%
帮助的人:55.3万
展开全部

tc[0]是null  报的空指针异常   只声明没有赋值


TestClass1 tc[]={new TestClass1()};//可以
//或者
TestClass1 tc[]=new TestClass1[1];
tc[0] = new TestClass1();
tc[0].num=1;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2016-08-22
展开全部
public void setdata(int num,String name){
this.num=num;
this.name=name;
}

这样来试试 。。。。。。。。。。。。。。。。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式