黑马程序员技术交流社区

标题: 关于private非法的问题 [打印本页]

作者: pzfpang449    时间: 2013-2-9 13:58
标题: 关于private非法的问题
关于private非法的问题
public  class rabbit
                {
                                public int month;
                                public int rabbitNumber;                                                                                                                        //对象的属性。
                                public int rb( int month )                                                         //定义一个方法调用属性。
                                        {
                                                        private int  f ,f1 ,f2 ;
                                                        f1=1;
                                                        f2=1;
                                                        for (int i = 3; i < month ; i++)
                                                        {
                                                                f = f2;
                                                                f2 =f1+f2;
                                                                f1 = f;
                                                        }
                                                        return rabbitNumber=f2;
                                        }
                }

答:
在类体中变量定义部分所声明的变量为类的成员变量,而在方法体中声明的变量和方法的参数则称为局部变量。
局部变量是不能使用public、protected、private和static关键字对局部变量进行修饰的。
本题中int  f ,f1 ,f2 都是局部变量。
将程序修改一下就可以了:


public  class Rabbit //默认的习惯把类的首字母大写;变量,方法的首字母小写!
{
        public static void main (String[] args)//没有主函数程序是不能运行的。
        {
                System.out.println("rabbitNumber="+rb(8));
        }
    public int month;
    public int rabbitNumber;                                                                                                                  
    public static int rb( int month )                                                        
      {
      int  f ,f1 ,f2 ;
      f1=1;
      f2=1;
      for (int i = 3; i < month ; i++)
      {
         f = f2;
         f2 =f1+f2;
         f1 = f;
      }
       return f2;//返回值需为int型
      }
}
希望对你有所帮助




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