java 一个简单程序问题
package Testpoint;
public class Testpoint {
public class point{
public int x;
public int y;
public int z;
public void setx(int xx){
x=xx;
}
public void sety(int yy){
y=yy;
}
public void setz(int zz){
z=zz;
}
public float distancetoOrigin(point Point){ //点到原点的距离
float dis =Point.x *Point.x+Point.y*Point.y+Point.z*Point.z;
return dis;
}
}
// @SuppressWarnings("null")
public static void main(String[] args){
point aa ;
aa=new point();
//aa.setx(1);
//aa.sety(2);
//aa.setz(3);
//float dis =aa.distancetoOrigin(aa);
//System.out.println(dis);
System.out.println(111);
}
}
这里我遇到一个问题,为什么我main里面的new point();会提示错误,我是按教程学习的,教程上面这样写没有问题,我是不是自己写的point类有问题?
------解决方案--------------------point是内部类,只有用外部类实例才能创建对象,应该写成这样:
aa=new Testpoint().new point();
------解决方案--------------------public class point改为public static class point
------解决方案--------------------将内部类point class 改成静态或者变为外部类即可
------解决方案--------------------内部类改成public static class point{}