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中的“静态内部类”这个知识点,但是,如何去运行用它呢?所以,我们就要通过下方的按钮进入到游戏中,然后,运用它去完成任务,这样,才可以加深大家对每个知识点的理解和运用,以及“尽快进入到编程的状态”。
不要停留在理论规则上面,快动起来吧!
(通过游戏模式学习与训练,需要在电脑上运行)