📄 java03_08.htm
字号:
<html>
<head>
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Java程序设计</title>
</head>
<body background="Bg.gif">
<p align="center"><font size="5"><b>§3.8 静态方法</b></font></p>
<p align="left"> 成员变量分为实例变量和静态变量,其中实例变量属于某一个具体的实例,必须在类实例化后才真正存在,不同的对象拥有不同的实例变量。而静态变量属于所有的类公有(相当于全局变量),不需要实例化就已经存在。</p>
<p align="left">
方法也分为实例方法和静态方法。其中,实例方法必须在类示例化后通过<b>对象</b>来调用,而静态方法可以在类实例化之前通过<b>类名</b>来调用。与成员变量不同的是:无论哪种方法,在内存中只有一份——无论该类有多少个实例,都共用同一个方法。</p>
<p align="left"> 例,静态方法和静态变量的使用</p>
<p align="left">class example{<br>
static int sa;<br>
int va;<br>
static void sf()<br>
{ int i;<br>
i=0; //正确,可以有自己的局部变量<br>
sa=10; //正确,静态方法可以使用静态变量<br>
va=20; //错误,不能使用实例变量<br>
vf(); //错误,不能调用实例方法<br>
}<br>
void vf()<br>
{ int i;<br>
i=0;<br>
sa=15;<br>
va=30; //正确,可以使用实例变量<br>
sf(); //正确,可以调用静态方法<br>
}<br>
}</p>
<p align="left">class other{<br>
public static void main(String argv[])<br>
{ example a=new example();<br>
example b=new example();<br>
a.sf(); //正确,可以通过对象来调用静态方法<br>
example.sf() //正确,可以通过类名来调用静态方法<br>
a.vf(); //正确,可以通过对象来调用实例方法<br>
example.vf() //错误,不能用类名来调用实例方法<br>
a.sa=100; //正确<br>
a.va=50; //正确<br>
example.sa=10; //正确<br>
example.va=50; //错误<br>
b.sa=0; //正确,现在a.sa=example.sa=0<br>
b.va=0; //正确,现在a.va=50<br>
}<br>
}</p>
<p align="left">其实,最典型的静态方法就是main()方法</p>
<p align="left"><a href="index.htm">回目录</a> <a href="java03_07.htm">上一课</a>
<a href="java03_09.htm">下一课</a></p>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -