Java 静态内部类

 

接下来,我们准备为大家介绍“静态内部类”。

 

(1)静态内部类:在内部类的前面添加static关键字,就称为静态内部类。

(2)静态内部类不能访问外部类中的非静态成员非静态方法

(3)静态内部类的对象不能访问外部类中的成员与方法。

    

 

 

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

 

例子1:

 

class wp  //定义wp作为外部类

{

  int x;

  static int y;

 

  static class gun  //定义gun作为静态内部类

  {

    int g1;

    public void mx()     //静态内部类中的方法mx。

    {

      x = 0;       //错误,不能调用外部类中,非静态的成员x。   

      y = 0;      //正确,可以调用外部类中,静态的成员y。 

      wpMx();      //错误,不能调用外部类中,非静态方法wpMx。

      g1 = 0;      //正确,可以调用内部类中的成员g1。

    }

  }

 

  public void wpMx()  //外部类方法wpMx。

  {

     x = 0;

  }

}

 

//-----------------------------------------------------------------------------//

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

//------------------------------------------------------------------------------//

public class MyTest    

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

     wp w1 = new wp( );  //首先,定义一个外部类的对象w1

 

     w1.gun wg1 = new w1.gun(); //定义静态内部类gun的对象wg1

                       然后,使用new操作符,并通过外部类对象w1

                       调用gun来实例化对象wg1。

 

     wg1.x = 0;    //错误,内部类的对象,不能访问外部类中的成员。

     wg1.wpMx();   //错误,内部类的对象,不能访问外部类中的方法。

 

     wg1.g1 = 0;   //正确,内部类的对象,可以访问内部类中的成员。

     wg1.mx();    //正确,内部类的对象,可以访问内部类中的方法。

  }

      

 

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

 

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

    

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

进入游戏学习与训练