📄 ch2.htm
字号:
<HTML><HEAD><TITLE>developer.com - Reference</TITLE><META NAME="Author" CONTENT="developer.com"><META NAME="Keywords" CONTENT="javascript, ActiveX, VRML, Push, channel,push channel, applet, directory, news, community, developer, internet,intranet, java, java applet, J++, javabeans, java products, tools, javatools, JDK, java development kit, java development environment, JIT,JavaPlan, enterprise tools, JVM, Java Virtual Machine, Java resources, API,browser, java documentation, CDF, Common Desktop Format, RDF, ResourceDescription Framework, Netcaster, Netcast, Castanet, meta-language, metadata,solaris, Solaris, SUN, CGI, Perl, Oracle, database, network, Netscape API,Apache, apache, SSL, mSQL, Netscape, Fasttrack, FastTrack,industry standard, ActiveX bridge, web, internet, site, sitedesign, microsoft, active server pages, asp, iis, nt, win95, 95, html, cgi,frontpage, business, corporate, vbscript, javascript, activex, isapi,database, access, sql, server, www, 3.0, 3.01, 3.02, 3.03, 3.04, 4.0,4.0b2, 4.01, 4.03, 4.04, connection, online, commerce, publisher,publishing, publish, webmaster, dynamic html, dhtml, windows 98, netscape,netscape software, shareware, magazines, jobs, japan, free, freeware, freestuff"><META NAME="description" CONTENT="Developer.com is the leading onlineservice for developers. It includes Gamelan, the official directory for Java, as wellas news, information, tutorials, and directories for other Internet technologiesincluding ActiveX, JavaScript, perl, VRML, Java Beans, push technologies, andother Internet and intranet technologies. Developer.com is also the home ofDeveloper Direct, the Professional Developer's Store, where developers canpurchase and download thousands of Web, authoring and other developmentproducts at some of today's lowest prices."><META NAME="distribution" CONTENT="global"><META NAME="resource-type" CONTENT="document"><META NAME="language" CONTENT="en"></HEAD><BODY BACKGROUND="/images/curve_r-wide.gif" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#DD0000" VLINK="#999999" ALINK="#FF0000"><TABLE><TR><TD VALIGN=TOP WIDTH=120><A HREF="/" ><IMG SRC="/images/masthead_r.gif" WIDTH="100" HEIGHT="78" BORDER="0"ALT="Developer.com Logo"></a></TD><TD><a target="resource window" href="http://adserver.developer.com/cgi-bin/accipiter/adclick.exe/AREA=DCBAN.REF/DT=null"><img src="http://adserver.developer.com/cgi-bin/accipiter/adserver.exe/AREA=DCBAN.REF/DT=null" HEIGHT="60" WIDTH="468" ALT="Click here to support our advertisers"><BR><CENTER>Click here to support our advertisers</CENTER></a></TD></TR></TABLE><!--outer table--><TABLE><!--outer table--><TR><!--outer table--><TD VALIGN="TOP"><!--navbar info --><table><tr><td><A HREF="http://www.developerdirect.com/" ><IMG SRC="/images/button_s.gif" width="15" height="11" BORDER="0"><FONT FACE="Arial, Helvetica" SIZE="-1" color="#000000"><b>SHOPPING</b></font></a></td></tr><tr><td><A HREF="/community/jobs/c_jobs.html"><IMG SRC="/images/button_d.gif" width="15" height="11" BORDER="0"><FONT FACE="Arial, Helvetica" SIZE="-1" color="#000000"><B>JOB BANK</B></font></a></td></tr><tr><td><A HREF="http://www.classifieds2000.com/cgi-cls/display.exe?Developer+computer+searchcomputercategories"><IMG SRC="/images/button_d.gif" width="15" height="11" BORDER="0"><FONT FACE="Arial, Helvetica" SIZE="-1" color="#000000"><B>CLASSIFIEDS</B></font></a></td></tr><tr><td><A HREF="/directories/directories.html"><IMG SRC="/images/button_d.gif" width="15" height="11" BORDER="0"><FONT FACE="Arial, Helvetica" SIZE="-1" color="#000000"><B>DIRECTORIES</B></font></a></td></tr><tr><td><A HREF="/reference/"><IMG SRC="/images/button_r.gif" width="15" height="11" BORDER="0"><FONT FACE="Arial, Helvetica" SIZE="-1" color="#000000"><B>REFERENCE</B></font></a><br><a href="/reference/r_library.html"><FONT FACE="Arial, Helvetica" SIZE="-1" color="#000000">Online Library</a></font></td></tr><tr><td><A HREF="/classroom/"><IMG SRC="/images/button_r.gif" width="15" height="11" BORDER="0"><FONT FACE="Arial, Helvetica" SIZE="-1" color="#000000"><B>LEARNING CENTER</B></font></a></td></tr><tr><td><A HREF="/journal/"><IMG SRC="/images/button_n.gif" width="15" height="11" BORDER="0"><B><FONT FACE="Arial, Helvetica" SIZE="-1" color="#000000">JOURNAL</font></B></a></td></tr><tr><td><A HREF="/news/"><IMG SRC="/images/button_d.gif" width="15" height="11" BORDER="0"><FONT FACE="Arial, Helvetica" SIZE="-1" color="#000000"><b>NEWS CENTRAL</b></font></a></td></tr><tr><td><A HREF="/downloads/"><IMG SRC="/images/button_d.gif" width="15" height="11" BORDER="0"><FONT FACE="Arial, Helvetica" SIZE="-1" color="#000000"><b>DOWNLOADS</b></font></a></td></tr><tr><td><A HREF="/community/" ><IMG SRC="/images/button_c.gif" width="15" height="11" BORDER="0"><FONT FACE="Arial, Helvetica" SIZE="-1" color="#000000"><B>COMMUNITY</B></font></a></td></tr><tr><td><A HREF="/calendar/"><IMG SRC="/images/button_d.gif" width="15" height="11" BORDER="0"><FONT FACE="Arial, Helvetica" SIZE="-1" color="#000000"><b>CALENDAR</b></font></a></td></tr><tr><td><A HREF="/about/"><IMG SRC="/images/button_a.gif" width="15" height="11" BORDER="0"><FONT FACE="Arial, Helvetica" SIZE="-1" color="#000000"><b>ABOUT US</b></a></font></td></tr></table><table><tr><td><form action="/subscribe/list.cgi" method=post ><img src="/images/rule.gif" width="100" height="2"><br><B><FONT FACE="Arial, Helvetica" SIZE="-1">Journal:</b></font><br><input name='email' value='your e-mail' size="11"><input type='hidden' name='state' value='Subscribe'></td></tr><tr><td><input type='submit' value='Subscribe'><br><font size="-1">Get the weekly email highlights from the most popular journal for developers!<br><a href="http://www.developer.com/subscribe.html">Current issue</a><img src="/images/rule.gif" width="100" height="2"><input type='hidden' name='name' value='New Subscriber'></FORM></td></tr></table><!--/navbar--><font size="-1"><A HREF="http://www.developer.com">developer.com</a><BR><A HREF="http://www.developerdirect.com">developerdirect.com</a><BR><A HREF="http://www.htmlgoodies.com">htmlgoodies.com</a><BR><A HREF="http://www.javagoodies.com">javagoodies.com</a><br><A HREF="http://www.jars.com">jars.com</a><BR><a href="http://www.intranetjournal.com">intranetjournal.com</a><br><a href="http://www.javascripts.com">javascripts.com</a><br></font><!--outer table--></TD><!--outer table--><TD VALIGN="TOP"><BLOCKQUOTE><P><img src="/images/header_r.gif" width="440" height="50"><P><MAP NAME ="header_r2.gif.map"><AREA SHAPE ="RECT" HREF ="/reference/author.html" COORDS ="361,0,440,29"><AREA SHAPE ="RECT" HREF ="/reference/basic.html" COORDS ="254,0,360,29"><AREA SHAPE ="RECT" HREF ="/reference/help.html" COORDS ="183,0,251,29"><AREA SHAPE ="RECT" HREF ="/reference/cool.html" COORDS ="100,0,181,29"><AREA SHAPE ="RECT" HREF ="/reference/mybook.html" COORDS ="0,0,100,29"></MAP><MAP NAME ="header_r1.gif.map"><AREA SHAPE ="RECT" HREF ="/reference/personalize.html" COORDS ="339,0,439,29"></MAP><p><font face="Arial,Helvetica" size="-1" color="#006666"><A HREF="/reference/r_library.html"><B>All Categories</A> :</B><b><A HREF="/reference/r_java.html">Java</A></b></font><p> <META NAME="GENERATOR" CONTENT="Mozilla/3.0b5aGold (WinNT; I) [Netscape]"><H1><FONT COLOR=#FF0000>Chapter 2</FONT></H1><H1><B><FONT SIZE=5 COLOR=#FF0000>Object-Oriented Development inJava</FONT></B></H1><P><HR WIDTH="100%"></P><P><H3 ALIGN=CENTER><FONT COLOR="#000000"><FONT SIZE=+2>CONTENTS<A NAME="CONTENTS"></A></FONT></FONT></H3><UL><LI><A HREF="#IntroductiontoJavaClassesandObjects" >Introduction to Java Classes and Objects</A><UL><LI><A HREF="#BasicStructureofaClass" >Basic Structure of a Class</A><LI><A HREF="#CreatinganObjectInstance" >Creating an Object Instance</A><LI><A HREF="#UsingMethods" >Using Methods</A><LI><A HREF="#OverloadingMethods" >Overloading Methods</A><LI><A HREF="#Constructors" >Constructors</A></UL><LI><A HREF="#InheritanceinJava" >Inheritance in Java</A><UL><LI><A HREF="#Subclassing" >Subclassing</A><LI><A HREF="#MethodOverriding" >Method Overriding</A><LI><A HREF="#CallingSuperclassMethods" >Calling Superclass Methods</A><LI><A HREF="#CallingSuperclassConstructors" >Calling Superclass Constructors</A></UL><LI><A HREF="#ImportantCoreClasses" >Important Core Classes</A><UL><LI><A HREF="#TheObjectBaseClass" >The Object Base Class</A><LI><A HREF="#StringClasses" >String Classes</A><LI><A HREF="#TypeWrappers" >Type Wrappers</A></UL><LI><A HREF="#MoreaboutClasses" >More about Classes</A><UL><LI><A HREF="#AccessModifiers" >Access Modifiers</A><LI><A HREF="#ClassMethodsandClassVariables" >Class Methods and Class Variables</A><LI><A HREF="#ThefinalModifier" >The final Modifier</A><LI><A HREF="#ThenullKeywordandMoreaboutGarbage" >The null Keyword and More about Garbage Collection</A><LI><A HREF="#ScopingRules" >Scoping Rules</A><LI><A HREF="#CastingRules" >Casting Rules</A><LI><A HREF="#OtherKeywords" >Other Keywords</A></UL><LI><A HREF="#IntroductiontoExceptionHandling" >Introduction to Exception Handling</A><UL><LI><A HREF="#StructureofanExceptionHandler" >Structure of an Exception Handler</A><LI><A HREF="#WhentoCatchExceptions" >When to Catch Exceptions</A><LI><A HREF="#ExceptionHandlersandExceptionClasses" >Exception Handlers and Exception Classes</A><LI><A HREF="#NestedExceptions" >Nested Exceptions</A></UL><LI><A HREF="#OrganizingProjectsinJava" >Organizing Projects in Java</A><UL><LI><A HREF="#AbstractMethods" >Abstract Methods</A><LI><A HREF="#Interfaces" >Interfaces</A><LI><A HREF="#Packages" >Packages</A></UL><LI><A HREF="#TheJavaDevelopersKit" >The Java Developer's Kit</A><LI><A HREF="#Summary" >Summary</A></UL><HR><P>Now that you're familiar with the general architecture of Javaand its basic programming constructs, you're ready to look atJava's tools for object-oriented development. This chapter firstlooks at the simple, yet powerful, object-oriented features ofthe Java programming language. You then see how you can organizeJava classes into libraries by using the <I>package</I> <I>mechanism</I>.Finally, you're introduced to the suite of class libraries providedwith Java, known as the <I>Java Developer's Kit</I> <I>(JDK)</I>or the <I>Java API</I>.<H2><A NAME="IntroductiontoJavaClassesandObjects"><FONT SIZE=5 COLOR=#FF0000>Introductionto Java Classes and Objects</FONT></A></H2><P>The starting place of object-oriented programming in Java is <I>classes</I>,which provide templates for specifying the state and behaviorof an object at runtime. An <I>object</I> is said to be an <I>instance</I>of a class. For a given class and runtime session, there can bemultiple object instances.<H3><A NAME="BasicStructureofaClass">Basic Structure of a Class</A></H3><P>A class generally consists of <I>variables</I> and <I>methods</I>.The following is a rudimentary example of a class called FirstClass:<BLOCKQUOTE><TT>class FirstClass {<BR> int firstVariable = 0; // Initially set to 0<BR> // Set the value of the variable...<BR> public void setValue(int newValue) {<BR> firstVariable = newValue;<BR> }<BR> // Get the variable value...<BR> public int getValue() {<BR> return firstVariable;<BR> }<BR>}</TT></BLOCKQUOTE><P>This class consists of a single variable, called <TT>firstVariable</TT>,which is initially set to <TT>0</TT>.The class has two methods. The <TT>setValue()</TT>method is used to set <TT>firstVariable</TT>to the specified value. The <TT>getValue()</TT>method returns the current value of <TT>firstVariable</TT>.<P>The variable <TT>firstVariable</TT>is called an <I>instance variable</I>. This type of variable isdefined for an instance of an object. It differs from a <I>localvariable</I>, which is defined inside a block of code or a method.Suppose that a new method is defined to get half the value of<TT>firstVariable</TT>:<BLOCKQUOTE><TT>public int getHalf() {<BR> int half; // Alocal variable<BR> half = firstVariable / 2;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -