日期:2014-05-20  浏览次数:20671 次

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{}