zuobiao[i] = new Point2(val1,val2);

解决方案 »

  1.   

    还是要自己初始化数组中的对象的,
    不同于PointTest zuobiao = new PointTest();
    它会调用构造函数,初始化实例化对象
    而你用数组
    Point1 [] zuobiao=new Point1[90];
    其实它的new只是在调用数组的new而没有调用Point1默认的构造函数
    所以这时zuobiao[0]等的reference都为null,所以报错
    至于怎样初始化这么多的实例,我也想知道
      

  2.   

    找到了
    public static void main(String[] args)
    {
    PointTest[] zuobiao=new PointTest[90];//new出90个数组的reference出来
    for(int i=0;i<90;i++)
    {
    double val1= Math.cos(1*0.0174*360/90);
    double val2= Math.sin(1*0.0174*360/90);
    System.out.println(i);
    //***************************************************
    zuobiao[i]= new PointTest();//直接new内存给reference给
                      //***************************************************
                      zuobiao[i].Point2(val1,val2);
    }
    }
      

  3.   

    在for循环内初始化:
    zuobiao[i] = new Point1();
      

  4.   

    Tasia(这里是CSDN吗?) 的回答正确.
    不过你的Point类为何设为public???????????????
      

  5.   

    内部类Pont1不应该定义为public ,你定义为public就没意义了。
      

  6.   

    嗯,谢谢楼上的大侠们的指点,但是我改了之后还是有错:我改成这样了:
    import java.io.*;
    import java.math.*;public class Class1
    {
    public Class1()
    {
    } public class Point1
    {
    public void   Point2(double x1,double y1)
    {
    x=x1;
    y=y1;
    }
    double x;
    double y;
    }
    public static void main(String[] args)
    {
    Point1 [] zuobiao=new Point1[90];
    for(int i=0;i<90;i++)
    {
    double val1= Math.cos(i*0.0174*360/90);
    double val2= Math.sin(i*0.0174*360/90);
    zuobiao[i]=new Point1();  //现在提示这句出错了!
    zuobiao[i].Point2(val1,val2);     
    }
    }
    }出错的信息是这样的:non-static variable this cannot be referenced from a
     static context
                            zuobiao[i]=new Point1();谢谢各位大侠再指点指点!
      

  7.   

    public static void main(String[] args)
    {
    Point1 [] zuobiao=new Point1[90];
    Class1 parent=new Class1();
    for(int i=0;i<90;i++)
    {
    double val1= Math.cos(i*0.0174*360/90);
    double val2= Math.sin(i*0.0174*360/90);
    zuobiao[i]=parent.new Point1();  //ok了!
    zuobiao[i].Point2(val1,val2);     
    }
    }//btw,Point1是Class1的内部类.