国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

我學習使用java的一點體會

2019-11-18 15:17:56
字體:
來源:轉載
供稿:網友

  java基本類庫的學習 
曾經面試過一些java程序員,我出的題目是在使用java時,經常用到哪些類,在哪個包里。很少有人能答好,甚至有人做了2年java程序都沒有回答出,他們會用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" ); 



}; 

ObserverDemo.java代碼 

public class ObserverDemo 

public static void main( String[] args ) 

BeingWatched observed = new BeingWatched(); 
Watcher observing = new Watcher(); 
observed.addObserver( observing); 
observed.counter(10); 

}; 

執行結果 

Update() called, count is 10 
Update() called, count is 9 
Update() called, count is 8 
Update() called, count is 7 
Update() called, count is 6 
Update() called, count is 5 
Update() called, count is 4 
Update() called, count is 3 
Update() called, count is 2 
Update() called, count is 1 
Update() called, count is 0 

歸納階段。總結使用經驗,體會這兩個包中類的繼續關系,對設計模式的支持(如Iterator本身就是設計模式,同時也是工廠方法模式的應用),了解這些類提供的所有功能,比較功能相近類的異同。將這些類的api記在心中。 

雖然集成開發環境支持方法提示功能,但我個人認為,對于java.lang和java.util這兩個包的api應當熟記于心,java的其他類庫在使用時可以查找api。當然假如從事不同的開發,對其他類庫應當有相應的了解,如開發swing,就應當對javax.swing包了如執掌,開發b/s結構的程序,就要了解javax.servlet,依個人的應用來開發了。 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阿尔山市| 株洲县| 民权县| 曲松县| 玉田县| 天柱县| 会泽县| 西林县| 腾冲县| 滁州市| 洞口县| 类乌齐县| 荔波县| 平顺县| 抚远县| 安徽省| 大洼县| 军事| 资中县| 安陆市| 诸城市| 太保市| 大渡口区| 石嘴山市| 汉川市| 明水县| 安义县| 刚察县| 呼伦贝尔市| 万源市| 禹州市| 云林县| 东乡族自治县| 惠来县| 长沙市| 绥棱县| 确山县| 宽城| 琼结县| 慈溪市| 江孜县|