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