我用Java创建的Class数组的问题

时间:2011-04-30 22:40:46

标签: java arrays class


我想创建一个我创建的类型的数组。 这是我的问题:

public class MyFile
{        
     int page_no=23;
     Page[] pages_in_file;
     MyFile()
     {
         pages_in_file=new Page[page_no];
     }  
}

当调试到达Page []部分时,Java会出错,它甚至不会使用Page的构造函数 Page Class是这样的:

public class Page
{  
    String data=null;
    String contain=null;

Page()
{
    data = new String();
    contain = new String();
}
}

错误说:“找不到源”并在我尝试访问数组中的元素时给出此NullPointerException。 我想我没有看到明显的错误,但我感谢任何帮助。感谢

3 个答案:

答案 0 :(得分:2)

Java只为您的类分配内存,它在初始化数组时不运行构造函数。至少,您需要添加:

for (int i = 0; i < pages_in_file.length; i++)
    pages_in_file[i] = new Page();

答案 1 :(得分:0)

构造对象数组并不意味着构造对象。因此,您的错误(很可能)page_no为负数或未设置。不幸的是,您的演示代码不包含page_no的定义和值。

答案 2 :(得分:-3)

这是因为File类。 Java有一个名为File的类,它是一个final类,所以你需要将File类重命名为其他类。