⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 contents.htm

📁 java书籍《thinking in java》
💻 HTM
📖 第 1 页 / 共 3 页
字号:
</UL>
<A HREF="Chap05.htm#Heading200">private: you can&#8217;t touch that!</A><BR>
<A HREF="Chap05.htm#Heading201">protected: &#8220;sort of friendly&#8221;</A><BR>
</UL>
<A HREF="Chap05.htm#Heading202">Interface and implementation</A><BR>
<A HREF="Chap05.htm#Heading203">Class access</A><BR>
<A HREF="Chap05.htm#Heading204">Summary</A><BR>
<A HREF="Chap05.htm#Heading205">Exercises</A><BR>
</UL>
<A HREF="Chap06.htm">6: Reusing Classes</A><BR>
<UL>
<A HREF="Chap06.htm#Heading207">Composition syntax</A><BR>
<A HREF="Chap06.htm#Heading208">Inheritance syntax</A><BR>
<UL>
<A HREF="Chap06.htm#Heading209">Initializing the base class</A><BR>
<UL>
<A HREF="Chap06.htm#Heading210">Constructors with arguments</A><BR>
<A HREF="Chap06.htm#Heading211">Catching base constructor exceptions</A><BR>
</UL>
</UL>
<A HREF="Chap06.htm#Heading212">Combining composition  and inheritance</A><BR>
<UL>
<A HREF="Chap06.htm#Heading213">Guaranteeing proper cleanup</A><BR>
<UL>
<A HREF="Chap06.htm#Heading214">Order of garbage collection</A><BR>
</UL>
<A HREF="Chap06.htm#Heading215">Name hiding</A><BR>
</UL>
<A HREF="Chap06.htm#Heading216">Choosing composition  vs. inheritance</A><BR>
<A HREF="Chap06.htm#Heading217">protected</A><BR>
<A HREF="Chap06.htm#Heading218">Incremental development</A><BR>
<A HREF="Chap06.htm#Heading219">Upcasting</A><BR>
<UL>
<A HREF="Chap06.htm#Heading220">Why &#8220;upcasting&#8221;?</A><BR>
<UL>
<A HREF="Chap06.htm#Heading221">Composition vs. inheritance revisited</A><BR>
</UL>
</UL>
<A HREF="Chap06.htm#Heading222">The final keyword</A><BR>
<UL>
<A HREF="Chap06.htm#Heading223">Final data</A><BR>
<UL>
<A HREF="Chap06.htm#Heading224">Blank finals</A><BR>
<A HREF="Chap06.htm#Heading225">Final arguments</A><BR>
</UL>
<A HREF="Chap06.htm#Heading226">Final methods</A><BR>
<UL>
<A HREF="Chap06.htm#Heading227">final and private</A><BR>
</UL>
<A HREF="Chap06.htm#Heading228">Final classes</A><BR>
<A HREF="Chap06.htm#Heading229">Final caution</A><BR>
</UL>
<A HREF="Chap06.htm#Heading230">Initialization and  class loading</A><BR>
<UL>
<A HREF="Chap06.htm#Heading231">Initialization with inheritance</A><BR>
</UL>
<A HREF="Chap06.htm#Heading232">Summary</A><BR>
<A HREF="Chap06.htm#Heading233">Exercises</A><BR>
</UL>
<A HREF="Chap07.htm">7: Polymorphism</A><BR>
<UL>
<A HREF="Chap07.htm#Heading235">Upcasting revisited</A><BR>
<UL>
<A HREF="Chap07.htm#Heading236">Forgetting the object type</A><BR>
</UL>
<A HREF="Chap07.htm#Heading237">The twist</A><BR>
<UL>
<A HREF="Chap07.htm#Heading238">Method-call binding</A><BR>
<A HREF="Chap07.htm#Heading239">Producing the right behavior</A><BR>
<A HREF="Chap07.htm#Heading240">Extensibility</A><BR>
</UL>
<A HREF="Chap07.htm#Heading241">Overriding vs. overloading</A><BR>
<A HREF="Chap07.htm#Heading242">Abstract classes  and methods</A><BR>
<A HREF="Chap07.htm#Heading243">Constructors and polymorphism</A><BR>
<UL>
<A HREF="Chap07.htm#Heading244">Order of constructor calls</A><BR>
<A HREF="Chap07.htm#Heading245">Inheritance and finalize(&#160;)</A><BR>
<A HREF="Chap07.htm#Heading246">Behavior of polymorphic methods  inside constructors</A><BR>
</UL>
<A HREF="Chap07.htm#Heading247">Designing with inheritance</A><BR>
<UL>
<A HREF="Chap07.htm#Heading248">Pure inheritance vs. extension</A><BR>
<A HREF="Chap07.htm#Heading249">Downcasting and run-time  type identification</A><BR>
</UL>
<A HREF="Chap07.htm#Heading250">Summary</A><BR>
<A HREF="Chap07.htm#Heading251">Exercises</A><BR>
</UL>
<A HREF="Chap08.htm">8: Interfaces &amp; Inner Classes</A><BR>
<UL>
<A HREF="Chap08.htm#Heading253">Interfaces</A><BR>
<UL>
<A HREF="Chap08.htm#Heading254">&#8220;Multiple inheritance&#8221; in Java</A><BR>
<UL>
<A HREF="Chap08.htm#Heading255">Name collisions when combining interfaces</A><BR>
</UL>
<A HREF="Chap08.htm#Heading256">Extending an interface  with inheritance</A><BR>
<A HREF="Chap08.htm#Heading257">Grouping constants</A><BR>
<A HREF="Chap08.htm#Heading258">Initializing fields in interfaces</A><BR>
<A HREF="Chap08.htm#Heading259">Nesting interfaces</A><BR>
</UL>
<A HREF="Chap08.htm#Heading260">Inner classes</A><BR>
<UL>
<A HREF="Chap08.htm#Heading261">Inner classes and upcasting</A><BR>
<A HREF="Chap08.htm#Heading262">Inner classes  in methods and scopes</A><BR>
<A HREF="Chap08.htm#Heading263">Anonymous inner classes</A><BR>
<A HREF="Chap08.htm#Heading264">The link to the outer class</A><BR>
<A HREF="Chap08.htm#Heading265">static inner classes</A><BR>
<A HREF="Chap08.htm#Heading266">Referring to the outer class object</A><BR>
<A HREF="Chap08.htm#Heading267">Reaching outward from a multiply-nested class</A><BR>
<A HREF="Chap08.htm#Heading268">Inheriting from inner classes</A><BR>
<A HREF="Chap08.htm#Heading269">Can inner classes be overridden?</A><BR>
<A HREF="Chap08.htm#Heading270">Inner class identifiers</A><BR>
<A HREF="Chap08.htm#Heading271">Why inner classes?</A><BR>
<UL>
<A HREF="Chap08.htm#Heading272">Closures &amp; Callbacks</A><BR>
</UL>
<A HREF="Chap08.htm#Heading273">Inner classes &amp; control frameworks</A><BR>
</UL>
<A HREF="Chap08.htm#Heading274">Summary</A><BR>
<A HREF="Chap08.htm#Heading275">Exercises</A><BR>
</UL>
<A HREF="Chap09.htm">9: Holding  Your Objects</A><BR>
<UL>
<A HREF="Chap09.htm#Heading277">Arrays</A><BR>
<UL>
<A HREF="Chap09.htm#Heading278">Arrays are first-class objects</A><BR>
<UL>
<A HREF="Chap09.htm#Heading279">Containers of primitives</A><BR>
</UL>
<A HREF="Chap09.htm#Heading280">Returning an array</A><BR>
<A HREF="Chap09.htm#Heading281">The Arrays class</A><BR>
<A HREF="Chap09.htm#Heading282">Filling an array</A><BR>
<A HREF="Chap09.htm#Heading283">Copying an array</A><BR>
<A HREF="Chap09.htm#Heading284">Comparing arrays</A><BR>
<A HREF="Chap09.htm#Heading285">Array element comparisons</A><BR>
<A HREF="Chap09.htm#Heading286">Sorting an array</A><BR>
<A HREF="Chap09.htm#Heading287">Searching a sorted array</A><BR>
<A HREF="Chap09.htm#Heading288">Array summary</A><BR>
</UL>
<A HREF="Chap09.htm#Heading289">Introduction to containers</A><BR>
<UL>
<A HREF="Chap09.htm#Heading290">Printing containers</A><BR>
<A HREF="Chap09.htm#Heading291">Filling containers</A><BR>
</UL>
<A HREF="Chap09.htm#Heading292">Container disadvantage:  unknown type</A><BR>
<UL>
<A HREF="Chap09.htm#Heading293">Sometimes it works anyway</A><BR>
<A HREF="Chap09.htm#Heading294">Making a type-conscious ArrayList</A><BR>
<UL>
<A HREF="Chap09.htm#Heading295">Parameterized types</A><BR>
</UL>
</UL>
<A HREF="Chap09.htm#Heading296">Iterators</A><BR>
<UL>
<A HREF="Chap09.htm#Heading297">Unintended recursion</A><BR>
</UL>
<A HREF="Chap09.htm#Heading298">Container taxonomy</A><BR>
<A HREF="Chap09.htm#Heading299">Collection functionality</A><BR>
<A HREF="Chap09.htm#Heading300">List functionality</A><BR>
<UL>
<A HREF="Chap09.htm#Heading301">Making a stack from a LinkedList</A><BR>
<A HREF="Chap09.htm#Heading302">Making a queue from a LinkedList</A><BR>
</UL>
<A HREF="Chap09.htm#Heading303">Set functionality</A><BR>
<UL>
<A HREF="Chap09.htm#Heading304">SortedSet</A><BR>
</UL>
<A HREF="Chap09.htm#Heading305">Map functionality</A><BR>
<UL>
<A HREF="Chap09.htm#Heading306">SortedMap</A><BR>
<A HREF="Chap09.htm#Heading307">Hashing and hash codes</A><BR>
<UL>
<A HREF="Chap09.htm#Heading308">Understanding hashCode(&#160;)</A><BR>
<A HREF="Chap09.htm#Heading309">HashMap performance factors</A><BR>
</UL>
<A HREF="Chap09.htm#Heading310">Overriding hashCode(&#160;)</A><BR>
</UL>
<A HREF="Chap09.htm#Heading311">Holding references</A><BR>
<UL>
<A HREF="Chap09.htm#Heading312">The WeakHashMap</A><BR>
</UL>
<A HREF="Chap09.htm#Heading313">Iterators revisited</A><BR>
<A HREF="Chap09.htm#Heading314">Choosing an implementation</A><BR>
<UL>
<A HREF="Chap09.htm#Heading315">Choosing between Lists</A><BR>
<A HREF="Chap09.htm#Heading316">Choosing between Sets</A><BR>
<A HREF="Chap09.htm#Heading317">Choosing between Maps</A><BR>
</UL>
<A HREF="Chap09.htm#Heading318">Sorting and searching Lists</A><BR>
<A HREF="Chap09.htm#Heading319">Utilities</A><BR>
<UL>
<A HREF="Chap09.htm#Heading320">Making a Collection or Map unmodifiable</A><BR>
<A HREF="Chap09.htm#Heading321">Synchronizing a Collection or Map</A><BR>
<UL>
<A HREF="Chap09.htm#Heading322">Fail fast</A><BR>
</UL>
</UL>
<A HREF="Chap09.htm#Heading323">Unsupported operations</A><BR>
<A HREF="Chap09.htm#Heading324">Java 1.0/1.1 containers</A><BR>
<UL>
<A HREF="Chap09.htm#Heading325">Vector &amp; Enumeration</A><BR>
<A HREF="Chap09.htm#Heading326">Hashtable</A><BR>
<A HREF="Chap09.htm#Heading327">Stack</A><BR>
<A HREF="Chap09.htm#Heading328">BitSet</A><BR>
</UL>
<A HREF="Chap09.htm#Heading329">Summary</A><BR>
<A HREF="Chap09.htm#Heading330">Exercises</A><BR>
</UL>
<A HREF="Chap10.htm">10: Error Handling  with Exceptions</A><BR>
<UL>
<A HREF="Chap10.htm#Heading332">Basic exceptions</A><BR>
<UL>
<A HREF="Chap10.htm#Heading333">Exception arguments</A><BR>
</UL>
<A HREF="Chap10.htm#Heading334">Catching an exception</A><BR>
<UL>
<A HREF="Chap10.htm#Heading335">The try block</A><BR>
<A HREF="Chap10.htm#Heading336">Exception handlers</A><BR>
<UL>
<A HREF="Chap10.htm#Heading337">Termination vs. resumption</A><BR>
</UL>
</UL>
<A HREF="Chap10.htm#Heading338">Creating your own exceptions</A><BR>
<A HREF="Chap10.htm#Heading339">The exception specification</A><BR>
<UL>
<A HREF="Chap10.htm#Heading340">Catching any exception</A><BR>
<A HREF="Chap10.htm#Heading341">Rethrowing an exception</A><BR>
</UL>
<A HREF="Chap10.htm#Heading342">Standard Java exceptions</A><BR>
<UL>
<A HREF="Chap10.htm#Heading343">The special case of RuntimeException</A><BR>
</UL>
<A HREF="Chap10.htm#Heading344">Performing cleanup  with finally</A><BR>
<UL>
<A HREF="Chap10.htm#Heading345">What&#8217;s finally for?</A><BR>
<A HREF="Chap10.htm#Heading346">Pitfall: the lost exception</A><BR>
</UL>
<A HREF="Chap10.htm#Heading347">Exception restrictions</A><BR>
<A HREF="Chap10.htm#Heading348">Constructors</A><BR>
<A HREF="Chap10.htm#Heading349">Exception matching</A><BR>
<UL>
<A HREF="Chap10.htm#Heading350">Exception guidelines</A><BR>
</UL>
<A HREF="Chap10.htm#Heading351">Summary</A><BR>
<A HREF="Chap10.htm#Heading352">Exercises</A><BR>
</UL>
<A HREF="Chap11.htm">11: The Java  I/O System</A><BR>
<UL>
<A HREF="Chap11.htm#Heading354">The File class</A><BR>
<UL>
<A HREF="Chap11.htm#Heading355">A directory lister</A><BR>
<UL>
<A HREF="Chap11.htm#Heading356">Anonymous inner classes</A><BR>
</UL>
<A HREF="Chap11.htm#Heading357">Checking for and creating directories</A><BR>
</UL>
<A HREF="Chap11.htm#Heading358">Input and output</A><BR>
<UL>
<A HREF="Chap11.htm#Heading359">Types of InputStream</A><BR>
<A HREF="Chap11.htm#Heading360">Types of OutputStream</A><BR>
</UL>
<A HREF="Chap11.htm#Heading361">Adding attributes  and useful interfaces</A><BR>
<UL>
<A HREF="Chap11.htm#Heading362">Reading from an InputStream  with FilterInputStream</A><BR>
<A HREF="Chap11.htm#Heading363">Writing to an OutputStream  with FilterOutputStream</A><BR>
</UL>
<A HREF="Chap11.htm#Heading364">Readers &amp; Writers</A><BR>
<UL>
<A HREF="Chap11.htm#Heading365">Sources and sinks of data</A><BR>
<A HREF="Chap11.htm#Heading366">Modifying stream behavior</A><BR>
<A HREF="Chap11.htm#Heading367">Unchanged Classes</A><BR>
</UL>
<A HREF="Chap11.htm#Heading368">Off by itself:  RandomAccessFile</A><BR>
<A HREF="Chap11.htm#Heading369">Typical uses of I/O streams</A><BR>
<UL>
<A HREF="Chap11.htm#Heading370">Input streams</A><BR>
<UL>
<A HREF="Chap11.htm#Heading371">1. Buffered input file</A><BR>
<A HREF="Chap11.htm#Heading372">2. Input from memory</A><BR>
<A HREF="Chap11.htm#Heading373">3. Formatted memory input</A><BR>
<A HREF="Chap11.htm#Heading374">4. File output</A><BR>
</UL>
<A HREF="Chap11.htm#Heading375">Output streams</A><BR>
<UL>
<A HREF="Chap11.htm#Heading376">5. Storing and recovering data</A><BR>
<A HREF="Chap11.htm#Heading377">6. Reading and writing random access files</A><BR>
</UL>
<A HREF="Chap11.htm#Heading378">A bug?A bug?</A><BR>
<A HREF="Chap11.htm#Heading379">Piped streams</A><BR>
</UL>
<A HREF="Chap11.htm#Heading380">Standard I/O</A><BR>
<UL>
<A HREF="Chap11.htm#Heading381">Reading from standard input</A><BR>
<A HREF="Chap11.htm#Heading382">Changing System.out to a PrintWriter</A><BR>
<A HREF="Chap11.htm#Heading383">Redirecting standard I/O</A><BR>
</UL>
<A HREF="Chap11.htm#Heading384">Compression</A><BR>
<UL>
<A HREF="Chap11.htm#Heading385">Simple compression with GZIP</A><BR>
<A HREF="Chap11.htm#Heading386">Multifile storage with Zip</A><BR>
<A HREF="Chap11.htm#Heading387">Java ARchives (JARs)</A><BR>
</UL>
<A HREF="Chap11.htm#Heading388">Object serialization</A><BR>
<UL>
<A HREF="Chap11.htm#Heading389">Finding the class</A><BR>
<A HREF="Chap11.htm#Heading390">Controlling serialization</A><BR>
<UL>
<A HREF="Chap11.htm#Heading391">The transient keyword</A><BR>
<A HREF="Chap11.htm#Heading392">An alternative to Externalizable</A><BR>
<A HREF="Chap11.htm#Heading393">Versioning</A><BR>
</UL>
<A HREF="Chap11.htm#Heading394">Using persistence</A><BR>
</UL>
<A HREF="Chap11.htm#Heading395">Tokenizing input</A><BR>
<UL>
<A HREF="Chap11.htm#Heading396">StreamTokenizer</A><BR>
<A HREF="Chap11.htm#Heading397">StringTokenizer</A><BR>
<A HREF="Chap11.htm#Heading398">Checking capitalization style</A><BR>
</UL>
<A HREF="Chap11.htm#Heading399">Summary</A><BR>
<A HREF="Chap11.htm#Heading400">Exercises</A><BR>
</UL>
<A HREF="Chap12.htm">12: Run-time Type Identification</A><BR>
<UL>
<A HREF="Chap12.htm#Heading402">The need for RTTI</A><BR>
<UL>
<A HREF="Chap12.htm#Heading403">The Class object</A><BR>
<UL>
<A HREF="Chap12.htm#Heading404">Class literals</A><BR>
</UL>
<A HREF="Chap12.htm#Heading405">Checking before a cast</A><BR>
<UL>
<A HREF="Chap12.htm#Heading406">Using class literals</A><BR>
<A HREF="Chap12.htm#Heading407">A dynamic instanceof</A><BR>
<A HREF="Chap12.htm#Heading408">instanceof vs. Class equivalence</A><BR>
</UL>
</UL>
<A HREF="Chap12.htm#Heading409">RTTI syntax</A><BR>
<A HREF="Chap12.htm#Heading410">Reflection: run-time  class information</A><BR>
<UL>
<A HREF="Chap12.htm#Heading411">A class method extractor</A><BR>
</UL>
<A HREF="Chap12.htm#Heading412">Summary</A><BR>
<A HREF="Chap12.htm#Heading413">Exercises</A><BR>
</UL>
<A HREF="Chap13.htm">13: Creating Windows  &amp; Applets</A><BR>
<UL>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -