Java static 关键字

 

   接下来,我们准备为大家介绍“static 关键字”。

 

  在前面的学习中,我们已经掌握了“方法”,同时,我们也了解到,调用方法是要通过对象去调用的,但是,在有些情况下面,是需要直接去调用方法的,例如,入口方法main,大家可以了解到,它是Java程序的入口点,同时,它是不需要对象去调用的。


  现在我们通过下面的代码来回顾一下入口方法,代码如下:

 

   public class MyTest   //Mytest类是在第二章“Java开发环境搭建(2)” 学习时创建的

   {
      public static void main(String[] args)   //入口方法main
      {

      }

   }

 

  从上面的代码中我们可以看到入口方法定义时就使用了static关键字,而static的作用就是用于说明,该方法main,可以不通过对象而在类中直接被系统调用。

 

  接下来,我们看看static关键字的特性:

  (1)static关键字又称为“静态关键字”。

  (2)通过static关键字说明的方法或属性称为或“静态方法”或"静态属性"。

  (3)在静态方法中不可以使用非静态的属性与方法。

  (4)在非静态方法中可以使用静态的属性与方法。

  (5)可以通过类名或对象名调用静态方法

    

 

  接下来,我们结合例子再作进一步的学习:

 

例子:

 

Class  Role

{

    int y;     //非静态整型属性y

    static int x;  //静态整型属性x

 

    static int  MX(int k) //静态方法MX

    {

        MY();   //错误,非静态方法不可以在静态方法中调用。

        y = 1;   //错误,非静态属性不可以在静态方法中调用。

 

        x = x + k;  //正确,静态属性 x 可以在静态方法中使用,并进行了加法运算与赋值运算。

 

        return x; //通过return 返回静态属性值。

    }

 

    int MY()  //非静态方法MY

    {

      x = x + y;   //在非静态方法中可以使用静态属性x与非静态属性y

    }

}

 

 

public class MyTest     //Mytest类是在第二章“Java开发环境搭建(2)” 学习时创建的

{
  public static void main(String[] args)   //入口方法main
  {

     Role  R1 = new Role();  //定义了对象R1

 

     R1.MY();   //通过对象R1调用非静态方法MY

 

     R1.MX();  //正确,通过对象R1调用静态方法MX

     Role.MX();  //正确,通过类名调用静态方法MX

 

     Role.MY();  //错误,通过类名调用非静态方法MY

  }

 

       

 

   非常好,现在,我们已经掌握了Java中的“static关键字”这个知识点,但是,如何去运行用它呢?所以,我们就要通过下方的按钮进入到游戏中,然后,运用它去完成任务,这样,才可以加深大家对每个知识点的理解和运用,以及“尽快进入到编程的状态”

 

  不要停留在理论规则上面,快动起来吧!

    

(通过游戏模式学习与训练,需要在电脑上运行)

进入游戏学习与训练