A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 蒋磊磊 中级黑马   /  2015-3-17 09:40  /  945 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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??????

1 个回复

倒序浏览
静态方法不能有非静态成员,你定义public double compare(Circle[] cir)就是对的, 至于为什么不能含有我也不太清楚,静态成员貌似是类已加载就产生的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马