class A
{
public A()
{
init();
}
protected void init()
{
}
}
class B extends A
{
private byte[] buf = new byte[128];
protected void init()
{
buf[0]=0;
}
}
public class MainTest {
public static void main(String[] args) {
B b = new B();
}
}有人能帮忙修改一下么,谢谢!
{
public A()
{
init();
}
protected void init()
{
}
}
class B extends A
{
private byte[] buf = new byte[128];
protected void init()
{
buf[0]=0;
}
}
public class MainTest {
public static void main(String[] args) {
B b = new B();
}
}有人能帮忙修改一下么,谢谢!
楼主【crazyhz】截止到2008-07-30 09:18:20的历史汇总数据(不包括此帖):
发帖的总数量:0 发帖的总分数:0 每贴平均分数:0
回帖的总数量:0 得分贴总数量:0 回帖的得分率:0%
结贴的总数量:0 结贴的总分数:0
无满意结贴数:0 无满意结贴分:0
未结的帖子数:0 未结的总分数:0
结贴的百分比:---------------------结分的百分比:---------------------
无满意结贴率:---------------------无满意结分率:---------------------
如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
取消马甲机器人,请点这里:http://www.java2000.net/mycsdn/robotStop.jsp?usern=crazyhz
private byte[] buf = new byte[128]; 还没有执行
所以buf[0]=0;这句会出现空指针错误
反正只要父类构造方法中调用init,它就在子类的成员初始化之前.
不知道你这个例子是干什么的?
可以在子类中覆盖父类的init()方法
protected void init(byte[] b)
{
buf[0]=0;
} 我想这样修改应该是可以的,应该不会空指向异常了。