程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA編程入門知識 >> 經驗談:我學習使用java的一點體會(2)

經驗談:我學習使用java的一點體會(2)

編輯:JAVA編程入門知識


   面向對象觀念的建立
  
      Java是面向對象的開發工具,使用java開發應用時,一定要懂面向對象編程的概念。在學過了java語法之後,應該建立OOP的概念。
  
      理論學習階段,首先應當理解class和object,了解class、interface、abstract class,理解OOP的繼續性,封裝性(public, protected,private)和多態性。然後應當熟悉UML,可以閱讀一些UML的簡單資料,基本上了解類圖、狀態圖和時序圖就可以了。
  
      演繹階段,對OOP的實踐。而OOP的成功范例應該是常見的23種設計模式。這個階段需要閱讀並體會設計模式UML圖和示例代碼,我推薦《java與模式》這本書,也可以訪問http://www.jdon.com/designpatterns/index.htm 。不必讀懂模式,只需要讀懂每個模式的UML和代碼。
  
      歸納階段,通過演繹階段的學習,體會OOP帶來的好處——對擴展開放,對修改關閉。同時學會如何在java中使用OOP的概念設計。
  
      我在使用Java編程初期,一直使用面向過程的思想編程,對class、interface、abstract class以及public、protect、private的存在並沒有理解,直到我閱讀了Gof的設計模式,才理解OOP的優點。但是Gof的設計模式太晦澀了,我第一次讀時,僅僅是有了面向對象的概念,而對設計模式並沒有理解。相反《java與模式》輕易讀一些,但《java與模式》一書的廢話多一些,有很多內容可以不讀。
  
   java基本類庫的學習
  
      曾經面試過一些java程序員,我出的題目是在使用java時,經常用到哪些類,在哪個包裡。很少有人能答好,甚至有人做了2年java程序都沒有回答出,他們會用java,但必須依靠工具,我覺得他們可以編寫出程序,但不能編寫出非凡好得程序。
  
      我認為作為java程序員必須把握java類庫的兩個包:java.lang和java.util這兩個包。java.lang包提供的是java編程要用到的基本類包,java程序員天天在用,無非是看別人如何用,自己就如何用,但很少有人去總結一下,比如String 和StringBuffer這兩個類有什麼差別,應該有一半以上的java程序員數不出來。另外Vector和HashMap這兩個類大家都在用,有多少人能說清楚Vector和HashMap的繼續關系呢。
  
      理論學習。認真閱讀java API的以下內容:java.lang包中的String,StringBuffer,Number,Double,Float,Byte,Short,Integer,Long,Character,Boolean,Process,Runtime,System,Object,Cloneable,Class,ClassLoader,Thread,ThreadGroup,Runnable,Package類或接口。java.util包中的Collection,list,Set,ArrayList,LinkedList,Hashset,TreeSet,Iterator,Map,SortedMap,HashMap,TreeMap,Comparator,Arrays,Enumeration,Vector,Stack,Dictionary,Hashtable,Properties,StringTokenizer,BitSet,Date,Calendar,Locale,Random,Observer,Observable類和接口。主要理清楚這些類或接口的繼續關系、主要功能。
  
      演繹階段。通過閱讀代碼,練習編程,學習並應用這些類和接口。其實這些類的大部分是經常用的,無非對這些類和接口說不清楚。在這些類中,對java.lang和java.util包中的類,最好將各個方法練習使用一次。而對java.util包中Collections framework中的類,最好理清楚各個類和接口之間的關系。常用的類的方法我就不具體介紹了,我舉一個使用Observer和Obserable 的例子(摘自《The Complete Reference Java 2 》)。在Observer和Obserable中,java實現了對設計模式Observer的支持。
  
   Watcher.java代碼
  
   import java.util.*;
  
   class Watcher implements Observer
   {
   public void update(Observable obj, Object arg )
   {
   System.out.println("Update() called, count is " +
   ((Integer) arg).intValue());
   }
   }
  
   BeingWatched.java代碼
  
   import java.util.*;
  
   class BeingWatched extends Observable
   {
   void counter( int period )
   {
   for(;period >=0; period-- )
   {
   setChanged();
   notifyObservers( new Integer ( period ) );
   try
   {
   Thread.sleep(100);
   }
   catch( InterruptedException e)
   {
   System.out.println("Sleep interrupeted" );
  
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved