Book per[]=new Book[5]    ;创建了长度为5的数组,但你却只初始化了2个元素,所以从第三个元素开始都是null

解决方案 »

  1.   


    谢谢,改成Book【2】不报错了。但是编号还是不能显示 是怎么回事呢?
      

  2.   

    你的静态常量的应用在无参的构造方法里面,但是你并没有调用无参的构造方法
    你将count++ 挪到有参的构造方法里面就可以了 
    public Book(String name){
         count++;
            this.num="XX图书馆"+ count;
            this.setName(name);
        }
      

  3.   

    噢 !!
    目前是这样改的 也能实现。
    public void pri(){
    System.out.println("书名:"+getName()+" 编号:"+new Book().getNum()) ;
    }