什么是类的静态变量,静态方法? 怎样调用它们?(50分)

  • 主题发起人 主题发起人 anycalllt
  • 开始时间 开始时间
A

anycalllt

Unregistered / Unconfirmed
GUEST, unregistred user!
什么是类的静态变量,静态方法? 怎样调用它们?
 
多了一个 static 声明的方法或变量:
这个main函数就是:public static void main(String[] args){}
静态方法可以任何时候调用的吧? 在静态方法里面要调用静态成员变量,或者在静态方法里面声明的变量,用普通的类成员变量要出错。
 
静态的都是全局变量区中分配内存。所有的类实例共享
此区域,都可以访问到。调用方法跟普通的调用一样啊
 
将就看看吧:
如果你想要创建一个可以在实例的外部调用的成员函数,那么你只需声明它为静态的(static;,它就会正常运行。静态成员函数只能直接调用其他静态成员函数,而不能以任何方式使用this或super。你也可以把变量声明为静态的。如果你想初始化一个静态变量,你可以用static声明一个恰好在类调用时执行一次的程序块。下面的例子是一个带有一个静态成员函数,几个静态变
量,和一个静态初始块的类。
classStatic{ static int a=3;
static int b;
static void method(intx)
{
System.out.println(/"x=/"+x);
System.out.println(/"a=/"+a);
System.out.println(/"b=/"+b);
}
static{System.out.println(/"静态初始块/");b=a*4;}
public static void main(Stringargs[]){
method(42);}}
这个类被调用,所有的静态变量都被初始化,a被赋为3,然后运行static块,这将打印出一段消息,并且把b赋为a*4,即12。
然后解释器调用main成员函数,它调用了成员函数method,参数x为42。
这三个println语句打印了两个静态变量a、b和局部变量x。
下面是运行结果:C://>javaStatic静态初始块x=42a=3b=12一个静态成员函数可以通过它所属的类名来调用。
象调用实例变量一样,你可以用点操作符通过类名来调用静态成员函数和静态变量。
Java就是这样实现了全局函数和全局变量。
下面的例子里,我们创建了带有一个静态成员函数和两个静态变量的类。
第二个类可以通过名字直接来调用第一个类的静态成员函数和静态变量。
class static Class{static int a=42;
static int b=99;
static void callme(){
System.out.println(/"a=/"+a);
}
}
class Static ByName{public static void main(Stringargs[]) {
StaticClass.callme();
System.out.println(/"b=/"+staticClass.b);}}
下面是运行结果:C://>javastaticByNamea=42b=99
 
明白了,谢谢各位!
 
后退
顶部