📄 10912_3.htm
字号:
<html>
<!-- #BeginTemplate "/Templates/empolder-doc.dwt" -->
<head>
<!-- #BeginEditable "title" -->
<title>JAVA程序员必读:基础篇(5)---类和继承 ---- |><| 太平洋电脑网 -> 网络学院* 开发教室</title>
<!-- #EndEditable -->
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style type="text/css">
<!--
-->
</style>
<link rel="stylesheet" href="/pcedu/style/text.css">
<script language="JavaScript">
<!--
function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->
</script>
</head>
<body bgcolor="#FFFFFF" topmargin=0 leftmargin=0 marginheight="0" onLoad="MM_preloadImages('/images/lefton.gif','/images/topon.gif')">
<a name="top"></a>
<script language="JavaScript" src="/pcedu/script/top.js">
</script>
<table width=760 border=0 cellspacing=0 cellpadding=0 align=center>
<tr>
<td width=194 height="56"><a href=http://www.pconline.com.cn><img src=http://www.pconline.com.cn/images/pconlinelogo.gif width=162 height=35 vspace=10 border=0></a></td>
<td width=406 height="56">
<script language="JavaScript" src="/pcedu/script/empolder_ad.js">
</script>
</td>
<td width=158 align=right height="56">
<script language="JavaScript" src="/pcedu/script/empolder_ad1.js">
</script>
</td>
<td align=right width=2 height="56"> </td>
</tr>
</table>
<table border=0 cellpadding=0 cellspacing=0 width=760 align="center">
<tbody>
<tr valign=bottom>
<td rowspan=2 width=172><img height=32 src="/pcedu/images/pcedu_lo.gif"
width=172 border="0"></td>
<td height=30 rowspan=2>
<table cellpadding=0 cellspacing=0 width="588" bgcolor="#FFA000" background="/pcedu/images/e_menu5.gif" border="0">
<tbody>
<tr valign="bottom">
<td height="17">
<script language="JavaScript" src="/pcedu/script/title_empolder.js">
</script>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr></tr>
<tr bgcolor="#303880">
<td colspan=2 height=1 valign=bottom><img height=1
src="/pcedu/images/blank.gif" width=1></td>
</tr>
<tr>
<td colspan=2 height=5 valign=bottom><img height=5
src="/pcedu/images/blank.gif" width=1></td>
</tr>
</tbody>
</table>
<table width="760" cellspacing="0" cellpadding="0" align="center" height="614">
<tr>
<td width="170" height="616" valign="top" rowspan="2">
<table border="0" width="170" height="100%"
cellspacing="1" bgcolor="#000000">
<tr bgcolor="#F8F8D2">
<td width="100%" valign="top" height="307">
<script language="JavaScript" src="/pcedu/script/left_empolder.js">
</script>
</td>
</tr>
</table>
</td>
<td width="8" height="308"><img src="/pcedu/images/blank.gif" width="1" height="1"></td>
<td valign="top" height="444" width="582">
<table width="582" border="0" cellspacing="0" cellpadding="0" height="1" background="/images/line5.gif">
<tr>
<td height="1"></td>
</tr>
</table>
<!-- #BeginEditable "content" -->
<table width="582" border="0" cellspacing="8" cellpadding="0" background="/images/bg6.gif">
<tr>
<td valign="top">
<table width="100%" border="0" cellspacing="8" cellpadding="0" background="/images/point.gif">
<tr>
<td height="4" colspan="3"></td>
</tr>
<tr>
<td height="22" colspan="3">
<div align="center" class="title">JAVA程序员必读:基础篇(5)---类和继承</div>
</td>
</tr>
<tr valign="bottom">
<td width="90" height="18">
<div align="right" class="gray"> </div>
<div class="gray"></div>
</td>
<td height="18">
<div align="center"><font color="#666666">编译:ZSC/太平洋网络学院</font></div>
</td>
<td width="90">
<div align="right" class="gray"><a href="mailto:tntst@pconline.com.cn">[责编:爆破手]</a></div>
</td>
</tr>
<tr valign="bottom">
<td colspan="3" height="0"></td>
</tr>
</table>
<p></p>
<p><b> <span class="article">5.1.7 理解实例和类成员</span></b></p>
<p></p>
<p></p>
<p class="article"> 为了指定方法为一个类方法,你可以在方法声明的地方使用static关键字。现在我们改变一下AnIntegerNamedX类,比如它的成员变量x为实例变量,以及它的两个方法为类方法:</p>
<p class="article"> class AnIntegerNamedX {</p>
<p class="article"> int x;</p>
<p class="article"> static public int x() {</p>
<p class="article"> return x;</p>
<p class="article"> }</p>
<p class="article"> static public void setX(int newX) {</p>
<p class="article"> x = newX;</p>
<p class="article"> }</p>
<p class="article">}</p>
<p class="article"> 当我们编译这个修改过的AnInterNamedX的时候,编译器就给出以下的错误: </p>
<p class="article">AnIntegerNamedX.java:4: Can't make a static reference
to</p>
<p class="article">nonstatic variable x in class AnIntegerNamedX.</p>
<p class="article"> return x;</p>
<p class="article"> ^ </p>
<p class="article"> 出现这个错误的原因是类方法不能访问实例变量,除非方法首先创建AnIntergerNamedX的实例并且通过它来访问变量。
</p>
<p class="article"> 下面再修改AnIntegerNamedX,使x变量为一个类变量: </p>
<p class="article">class AnIntegerNamedX {</p>
<p class="article"> static int x;</p>
<p class="article"> static public int x() {</p>
<p class="article"> return x;</p>
<p class="article"> }</p>
<p class="article"> static public void setX(int newX) {</p>
<p class="article"> x = newX;</p>
<p class="article"> }</p>
<p class="article">}</p>
<p class="article"> 现在类就可以编译了,它是在创建AnIntegerNamedX两个实例之前设置了它们的x数值并打印出来:</p>
<p class="article">myX.x = 2</p>
<p class="article">anotherX.x = 2</p>
<p class="article"> 实例成员和类成员之间的另外不同点是类成员可以在类本身中访问。你不必实例化一个类来访问类成员。下面再对上面的代码进行修改:
</p>
<p class="article">. . .</p>
<p class="article">AnIntegerNamedX.setX(1);</p>
<p class="article">System.out.println("AnIntegerNamedX.x = " + AnIntegerNamedX.x());</p>
<p class="article">. . .</p>
<p class="article"> 这里注意你不再需要创建myX和anotherX。你可以直接从AnIntegerNamedX中设置x并检索x。而你不能这样来处理实例成员,你可以从对象中只调用实例方法。你可以从类的实例或者从类本身访问类变量和方法。</p>
<p align="center" class="article"><a href="10912_2.htm">[上一页]</a>
<a href="10913.htm">[下一页]</a></p>
</td>
</tr>
<tr bgcolor="#FF6600">
<td height="1"></td>
</tr>
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="0" background="/images/point.gif">
<tr>
<td colspan="2">
<p align="center" class="basicfont"><br>
如果您有什么疑问或看法请到 <a href="http://home.pconline.com.cn/cgi-bin/newbbs/bbs_login.cgi?loginname=guest&loginpasswd=guest" target="_blank" class="blue">精彩论坛</a>
发表意见<br>
</p>
<p align="center" class="basicfont"><font color=#ff0000><b class="article">未经同意
不得转载</b></font></p>
<p align="center" class="basicfont"> <span class="basicfont"><a href="javascript:history.back(-1)" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('image3','','/images/lefton.gif',1)"><img src="/images/LEFTOFF.GIF" border="0" name="image3" alt="返回" width="19" height="22"></a>
<a href="#top" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('image2','','/images/topon.gif',1)"><img src="/images/TOPOFF.GIF" name="image2" border="0" alt="页首" width="22" height="22"></a></span></p>
</td>
</tr>
</table>
</td>
</tr>
</table>
<!-- #EndEditable -->
<table width="582" border="0" cellspacing="0" cellpadding="0" height="1" background="/images/line5.gif">
<tr>
<td height="1"></td>
</tr>
</table>
<img src="/images/blank.gif" width="1" height="24"><br>
<script
src=/script/hotfiles.js>
</script>
</td>
</tr>
</table>
<hr noshade size="2" width="760">
<p align="center">
<script language="JavaScript" src="/pcedu/script/title_edu.js">
</script>
<br>
<br>
版权所有©2000 太平洋电脑网<br>
<font face="Arial, Helvetica, sans-serif"> <a href=mailto:webmaster@pconline.com.cn>webmaster@pconline.com.cn
</a>
<script language="">
document.write("<a href=http://count.pconline.com.cn/admin/index.php target=_blank><img src=http://count.pconline.com.cn/count.php?user=pcedu&refer="+escape(document.referrer)+" border=0 width=0 height=0 alt='' ></a>");
</script>
</font></p>
</body>
<!-- #EndTemplate -->
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -