zuobiao[i] = new Point2(val1,val2);
解决方案 »
- 去除 JFrame 垂直滚动条
- JDBC插入大量数据优化
- 在JTable中,拖动一列到其它的位置,再点击排序,这时它是对原来在这个位置的列进行排序,怎么样让它对这个新的列进行排序呢?
- 一个复杂一点的简单问题!谢谢!
- 怎么运行chm文件?比如"E:\md\Temp\10193618959.chm"
- 請問一個DOS下用JAVAC的問題
- 各位干过这样的事么
- oracle.jdbc.driver.OracleDriver连接远程oracle问题
- 奇怪的applet问题,老问题:找不到类
- SUN忘解决的大问题!!!!!!!!!!!!
- getModel()和setModel()有什么用?
- linux下安装java版本的问题
不同于PointTest zuobiao = new PointTest();
它会调用构造函数,初始化实例化对象
而你用数组
Point1 [] zuobiao=new Point1[90];
其实它的new只是在调用数组的new而没有调用Point1默认的构造函数
所以这时zuobiao[0]等的reference都为null,所以报错
至于怎样初始化这么多的实例,我也想知道
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);
}
}
zuobiao[i] = new Point1();
不过你的Point类为何设为public???????????????
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();谢谢各位大侠再指点指点!
{
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的内部类.