快捷导航

子类和父类有相同属性,父类的引用指向子类对象,报空指针异常是什么原因?

publicclassTetromino{        Cell[]cells;                publicTetromino(){                cells=newCell[4];        }        }publicclassTextendsTetromino{Cell[]cells;//如果在这里写了这一句代码,就会报NullPointerException        publicT(){                this(0,0);        }        publicT(inta,intb){                this.cells=newCell[]{newCell(a,b),newCell(a,b+1),newCell(a-1,b+1),newCell(a,b+2)};        }                }publicclassTest{        publicstaticvoidprint(Tetrominote){                Cell[]cells=te.cells;                                booleanmark=false;                for(inti=0;i

免责声明:本内容仅代表回答者见解不代表本站观点,请谨慎对待。

版权声明:作者保留权利,不代表本站立场。

回复

使用道具 举报

参与会员1

你子类重写了父类的cells属性 所以你这个构造函数不会修改父类的cells属性 等你print类中读取的时候cells的初始值就是读的父类的cells属性,所以值是null,==的时候就会空指针异常
回复

使用道具 举报

可能感兴趣的问答

发新帖
  • 微信访问
  • 手机APP