黑马程序员技术交流社区

标题: 私有化 [打印本页]

作者: 蒋磊磊    时间: 2015-3-17 09:40
标题: 私有化
class Circle
{
        private static double pi=3.14;
        private double radius;
        public Circle(double r)
        {
                radius=r;
        }
        public static double compare(Circle[] cir)
        {
                int max = 0;
                for(int x=1; x<cir.length; x++)
                {
                        if(cir[x].radius>cir[max].radius)
                                max = x;
                }
                return cir[max].radius;
        }
}
class TC
{
        public static void main(String[] args)
        {
                Circle cir[]=new Circle[3];
System.out.println("最大的半径值是:"+Circle.compare(cir));
        }
}
问题:
代码第四行private double radius;存在的原因,radius不可以定义到public Circle(double r)函数内吗?
或者更进一步直接在public static double compare(Circle[] cir)函数内输入radius??????
作者: 王子健    时间: 2015-3-17 12:02
静态方法不能有非静态成员,你定义public double compare(Circle[] cir)就是对的, 至于为什么不能含有我也不太清楚,静态成员貌似是类已加载就产生的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2