java在一个类中定义一个属性,main方法中为什么点不出来!!
publicclassTeacher{privateStringname="sun";publicstaticvoidmain(String[]args){Teacher...
public class Teacher {
private String name = "sun";
public static void main(String[] args) {
Teacher [] teacher = new Teacher[2];
//teacher[0].name="sun";
System.out.println(teacher[0].name);
System.out.println(teacher.length);
}
}
这段代码为什么运行为啥会抛出空值!!??明明Techer类中定义了name啊啊啊!话说明注释那行代码我重新给name赋值,好像还是会说我抛出空值!!这是为啥????? 展开
private String name = "sun";
public static void main(String[] args) {
Teacher [] teacher = new Teacher[2];
//teacher[0].name="sun";
System.out.println(teacher[0].name);
System.out.println(teacher.length);
}
}
这段代码为什么运行为啥会抛出空值!!??明明Techer类中定义了name啊啊啊!话说明注释那行代码我重新给name赋值,好像还是会说我抛出空值!!这是为啥????? 展开
2个回答
展开全部
//你新定义的数组是空的,虽然长度是2,可是内容都是null。
//数组定义完之后要赋值的
public class Teacher
{
private String name = "sun";
public static void main(String[] args)
{
Teacher[] teacher = new Teacher[2];
/**
* 你新定义的数组是空的,虽然长度是2,可是内容都是null。 下面给teacher数组赋值
*/
teacher[0] = new Teacher();
teacher[1] = new Teacher();
// teacher[0].name="sun";
System.out.println(teacher[0].name);
System.out.println(teacher.length);
}
}
追问
我只是定义了一个Teacher类型的数组,指向是teacher,而没有数组里面放Teacher类!这样?
追答
你只是定义了一个容量是2的Teacher类型的数组,内容都是null,数组内容还没指向到内存中具体的内容,teacher[0] = new Teacher();这句话才是创建了一个Teacher对象,然后将数组的第一个值指向该对象,这样数组中才会有实际的数据
展开全部
Teacher [] teacher = new Teacher[2];
只是定义了一个数组,没有对里面的元素实例化
//teacher[0].name="sun"; 这个时候teacher[0]是没有具体对象的
Teacher [] teacher = new Teacher[2];
先实例化
teacher[0] = new teacher();
teacher[1] = new teacher();
// 再使用
teacher[0].name="sun";
teacher[1].name="sun1";
这样才行
只是定义了一个数组,没有对里面的元素实例化
//teacher[0].name="sun"; 这个时候teacher[0]是没有具体对象的
Teacher [] teacher = new Teacher[2];
先实例化
teacher[0] = new teacher();
teacher[1] = new teacher();
// 再使用
teacher[0].name="sun";
teacher[1].name="sun1";
这样才行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询