當前位置:編程學習大全網 - 編程語言 - Java基本編程練習

Java基本編程練習

面向對象的特性有哪些方面?

1.抽象:抽象就是忽略壹個主題中與當前目標無關的那些方面2。3.以便更加關註與當前目標4相關的方面。抽象不是5。試圖理解所有的問題,但是6。只是選擇其中的壹些,7。暫時沒有,8。利用壹些細節。抽象包括兩個方面,9。壹個是進程抽象,10。另壹個是數據抽象。

11.繼承:繼承是連接類的層次模型,12。它允許並鼓勵類的重用,13。它提供了壹種清晰表達* * *。對象的新類可以從現有類14中派生。這個過程叫做類繼承。新類繼承了原始類的特征。15.新類稱為原類的派生類(子類),而16。原始類稱為新類的基類(父類)。派生類可以從它們的基類17繼承方法和實例變量。並且類可以修改或添加新方法,使它們更適合特殊需要。

18.封裝:封裝就是把流程和數據封裝起來,19。只能通過定義的接口訪問數據。面向對象計算始於壹個基本概念,即現實世界可以描述為壹系列完全自治和封裝的對象,21。這些對象通過受保護的接口訪問其他對象。

22.多態性:多態性指的是23。允許不同的24。類對象來響應相同的25。1條消息。多態性包括參數多態性和包含多態性。多態語言具有靈活性、抽象性、行為享受性和代碼享受性等優點。26.應用程序功能與27相同的問題。名字28。是很好解決的。

2.字符串是最基本的數據類型嗎?

基本數據類型包括字節、整數、字符、長整型、浮點型、雙精度型、布爾型和短整型。

java.lang.String類屬於final類型,因此不能被繼承或修改。為了提高效率和節省空間,我們應該使用StringBuffer類。

3.int和Integer有什麽區別?

Java提供了兩種不同的類型:引用類型和原語類型(或內置類型)。Int是java的原始數據類型,Integer是java為int提供的封裝類。Java為每個原始類型提供了壹個封裝的類。

原始類型封裝類布爾布爾字符字節短整型整數浮點雙精度

引用類型和原始類型的行為完全不同,它們有不同的語義。引用類型和原始類型有不同的特征和用途,包括:大小和速度,這個類型存儲在什麽樣的數據結構中,引用類型和原始類型作為類的實例數據時指定的默認值。對象引用實例變量的默認值為null,而原始類型實例變量的默認值與其類型相關。

4.String和StringBuffer的區別

JAVA平臺提供了兩個類:String和StringBuffer,可以存儲和操作字符串,也就是包含多個字符的字符數據。此String類提供了壹個值不能更改的字符串。並且修改由這個StringBuffer類提供的字符串。當您知道字符數據將要改變時,可以使用StringBuffer。通常,可以使用StringBuffers動態構造字符數據。

5.運行時異常和壹般異常有什麽異同?

異常表示程序運行過程中可能出現的異常狀態,運行時異常表示虛擬機正常運行時可能遇到的異常,是壹種常見的運行錯誤。java編譯器要求方法必須聲明它拋出了壹個可能的非運行時異常,但不要求它必須聲明它拋出了壹個未被捕獲的運行時異常。

6.說出Servlet的生命周期,說出Servlet和CGI的區別。

Servlet被服務器實例化後,容器運行它的init方法,當請求到達時,它運行它的service方法。服務方法自動調度運行請求對應的doXXX方法(doGet,doPost),在服務器決定銷毀實例時調用其destroy方法。

與cgi的區別在於servlet在服務器進程中,它通過多線程運行它的服務方法。壹個實例可以服務多個請求,並且它的實例通常不會被銷毀。CGI為每個請求生成壹個新的進程,並在服務完成後銷毀它,所以效率不如servlet。

7.描述ArrayList,Vector,LinkedList的存儲性能和特點。

ArrayList和Vector都使用數組來存儲數據。該數組中元素的數量大於實際存儲的用於添加和插入元素的數據。兩者都允許通過序列號直接索引元素,但是插入元素涉及數組元素移動等內存操作,所以索引數據快,插入數據慢。Vector使用同步方法(線程安全)。壹般性能比ArrayList差,而LinkedList使用雙向鏈表存儲數據。它需要向前或向後遍歷才能按序號索引數據,而插入數據時只需要記錄該項的前後兩項,所以插入速度更快。

8.EJB基於什麽技術?並說出SessionBean和EntityBean,StatefulBean和StatelessBean的區別。

EJB包括會話Bean、實體Bean和消息驅動Bean,基於JNDI、RMI、JAT等技術實現。

SessionBean用於在J2EE應用中完成壹些服務器端的業務操作,比如訪問數據庫和調用其他EJB組件。EntityBean用於表示應用系統中使用的數據。

對於客戶端,SessionBean是壹個非持久性對象,它實現了服務器上運行的壹些業務邏輯。

對於客戶端,EntityBean是壹個持久對象,它表示存儲在持久內存中的實體或由現有企業應用程序實現的實體的對象視圖。

會話Bean可以細分為有狀態會話Bean和無狀態會話Bean,兩者都可以在方法中執行系統邏輯。區別在於有狀態會話Bean可以記錄調用者的狀態,所以壹般來說,壹個用戶會有壹個相應的有狀態會話Bean的實體。雖然無狀態會話Bean也是壹個邏輯組件,但它並不負責記錄用戶的狀態,也就是說,當用戶調用無狀態會話Bean時,EJB容器不會找到無狀態會話Bean的特定實體來執行這個方法。換句話說,當幾個用戶執行壹個無狀態會話Bean的方法時,可能會執行同壹個Bean的實例。從內存方面來說,與無狀態會話Bean相比,有狀態會話Bean消耗J2EE服務器的內存更多,但是有狀態會話Bean的優點是可以維護用戶的狀態。

9.集合和集合的區別。集合是集合類的上級接口,從它繼承的接口主要有集合和列表。

Collections是集合類的壹個幫助類,它提供了壹系列靜態方法來對各種集合進行搜索、排序、線程安全等操作。

10。和& & amp不同之處。& amp是按位運算符,這意味著按位AND運算。& amp是壹個邏輯運算符,意味著邏輯and。

11,HashMap和Hashtable的區別。HashMap是Hashtable的輕量級實現(非線程安全

主要區別在於HashMap允許空鍵,由於非線程安全性,這可能比Hashtable更有效。

HashMap允許null作為條目的鍵或值,而Hashtable不允許。

HashMap移除了Hashtable的contains方法,將其更改為containsvalue和containsKey。因為contains方法具有誤導性。Hashtable繼承自Dictionary類,HashMap是Java1.2引入的Map接口的實現。

最大的區別是Hashtable的方法是同步的,而HashMap不是。多線程訪問Hashtable時,不需要同步自己的方法,但是HashMap必須為它們提供外部同步。

Hashtable和HashMap使用大致相同的hash/rehash算法,所以性能不會有很大差別。

12,final,finalize的區別。Final用於聲明屬性、方法和類,分別表示屬性不可變、方法不可重寫和類不可繼承。Finally是異常處理語句結構的壹部分,這意味著總是執行。Finalize是Object類的壹個方法。當垃圾回收器執行時,將調用回收對象的此方法,這可以在此方法提供垃圾回收時重寫其他資源回收,如關閉文件。

13,sleep()和wait()有什麽區別?Sleep是壹種類似線程的方法,它使這個線程暫停執行壹段指定的時間,把執行機會讓給其他線程,但監控狀態保持不變,之後會自動恢復。調用sleep不會釋放對象鎖。Wait是Object類的壹個方法。在這個對象上調用wait方法會導致這個線程放棄對象鎖,進入等待鎖池等待這個對象。只有在為這個對象發出notify方法(或notifyAll)後,這個線程才進入對象鎖池獲取對象鎖,進入運行狀態。

14,超載和超馳的區別。重載的方法可以改變返回值的類型嗎?

方法的覆蓋和重載是Java多態性的不同表現。重寫是父類和子類之間多態性的表現,重載是壹個類中多態性的表現。如果在子類中定義的方法與其父類具有相同的名稱和參數,我們說該方法是重寫的。當子類中的對象使用這個方法時,它將調用子類中的定義。對於它來說,父類中的定義似乎是“屏蔽”的。如果在壹個類中定義了多個同名的方法,它們要麽有不同的參數號,要麽有不同的參數類型,這就是所謂的方法重載。重載的方法是改變返回值的類型。

15,錯誤和異常有什麽區別?

錯誤表示當恢復不是不可能而是困難時,恢復是壹個嚴重的問題。例如,內存溢出。期望程序處理這樣的情況是不可能的。

異常表示設計或實現問題。換句話說,就是程序正常運行的話,永遠不會發生。

16.同步和異步有什麽異同?在什麽情況下分別使用?舉例說明。

如果數據將在線程之間共享。例如,正在寫入的數據可能稍後被另壹個線程讀取,或者正在讀取的數據可能已經被另壹個線程寫入,所以這些數據是* * *獨占數據,必須同步訪問。當應用程序調用需要很長時間在對象上執行的方法,並且不想讓程序等待方法的返回時,應該使用異步編程。在許多情況下,異步方法通常更有效。

17,抽象類和接口有什麽區別?聲明方法存在而不實現它的類稱為抽象類。當妳想創建壹個體現壹些基本行為的類,並為這個類聲明壹個方法,但不能在這個類中實現這個類的時候,就要用到它。您不能創建抽象類的實例。但是,您可以創建壹個類型為抽象類的變量,並將其指向壹個具體子類的實例。不能有抽象構造函數或抽象靜態方法。抽象類的子類為其父類中的所有抽象方法提供實現,否則它們也是抽象類。相反,在子類中實現這個方法。其他知道其行為的類可以在類中實現這些方法。接口是抽象類的變體。在接口中,所有的方法都是抽象的。通過實現這樣的接口可以獲得多重繼承。接口中的所有方法都是抽象的,它們都沒有程序體。接口只能定義靜態最終成員變量。接口的實現類似於子類的實現,只是實現類不能從接口定義繼承行為。當壹個類實現壹個特殊的接口時,它定義(也就是給程序體)所有這樣的接口的方法。然後,它可以在實現接口的類的任何對象上調用接口的方法。由於抽象類,它允許使用接口名稱作為引用變量的類型。通常的動態綁定將生效。引用可以與接口類型相互轉換,instanceof運算符可用於確定對象的類是否實現接口。

還有壹些其他的。。。

留下妳的郵箱,我會發給妳的。

我的電子郵件地址是:sunboy520555@sina.com。

只要掌握了這些,就不怕了。。。

我給妳發了所有的郵件。為什麽還沒有結束?

。。。。。。。。。。

  • 上一篇:數學和英語不好可以學計算機麽?
  • 下一篇:動漫設計要什麽軟件?
  • copyright 2024編程學習大全網