Java新手入門的30個基本概念

來源:互聯網
上載者:User

標籤:

Java已經成為一個龐大而複雜的技術平台,對於開發人員而言,特別是剛開始學習的人,要想更好的掌握Java技術,深入理解基本概念不可缺少,能夠協助你提高對Java的進一步瞭解。以下為你介紹了Java語言的11個關鍵特性和30個基本概念。 

  一、Java語言的9個關鍵特性。 

(1)Easy:Java的文法比C++的相對簡單,還有一個方面就是Java能使軟體在非常小的機器上執行,基礎解釋其和類庫的支援的大小約為40kb,添加主要的標準庫和線程支援的記憶體須要添加125kb。

(2)分布式:Java帶有非常強大的TCP/IP協議。Java應用程式可以通過URL來穿過網路來訪問遠程對象,因為servlet機制的出現,使Java編程非常的高效,如今很多的大的web server都支援servlet。 

(3)OO:物件導向設計是把重點放在對象及對象的介面上的一個編程技術。其物件導向和C++有非常多不同,在與多重繼承的處理及Java的原類模型。OO:Object Oriented 物件導向。 

(4)健壯特性:Java採取了一個安全指標模型,能減小重寫記憶體和資料崩潰的可能型。 

(5)安全:Java用來設計網路和分布系統,這帶來了新的安全問題,Java能夠用來構建防病毒和防攻擊的System.事實證明Java在防毒這一方面做的比較好。

(6)中立體繫結構:Java編譯其產生體繫結構中立的目標檔案格式能夠在非常多處理器上運行,編譯器產生的指令位元組碼(Javabytecode)實現此特性,此位元組碼能夠在不論什麼機器上解釋運行。

(7)可移植性:Java中對基本資料結構類型的大小和演算法都有嚴格的規定所以可移植性非常好。 

(8)多線程:Java處理多線程的過程非常easy,Java把多線程實現交給底下作業系統或線程程式完畢。所以多線程是Java作為server端開發語言的流行原因之中的一個。【線程的基礎】

(9)Applet和servlet:可以在網頁上啟動並執行程式叫Applet,須要支援Java的瀏覽器非常多,而applet支援動態網頁,這是非常多其它語言所不能做到的。【這個如今基本上已經不使用了】

  二、基本概念: 

1.OOP中唯一關心的是對象的介面是什麼,就像電腦的銷售商她無論電源內部結構是如何的,他僅僅關係是否能給你提供電即可了,也就是僅僅要知道can or not而不是how and why。全部的程式是由一定的屬性和行為對象組成的,不同的對象的訪問通過函數調用來完畢,對象間全部的交流都是通過方法調用,通過對封裝對象資料,非常大限度上提高複用率。 

2.OOP中最重要的思想是類,類是模板是藍圖,從類中構造一個對象,即建立了這個類的一個執行個體(instance)。

3.封裝:就是把資料和行為結合起在一個包中)並對對象使用者隱藏資料的實現過程,一個對象中的資料叫他的執行個體欄位(instance field)。 

4.通過擴充一個類來獲得一個新類叫繼承(inheritance),而全部的類都是由Object根超類擴充而得,根超類下文會做介紹。 

5.對象的3個主要特性

behavior---說明這個對象能做什麼。

state---當對象施加方法時對象的反映。

identity---與其它相似行為對象的區分標誌。

每一個對象有唯一的indentity 而這3者之間相互影響。 

6.類之間的關係:

use-a :依賴關係

has-a :彙總關係

is-a :繼承關係--例:A類繼承了B類,此時A類不僅有了B類的方法,還有其自己的方法。(個性存在於共性中)

7.構造對象使用構造器:構造器的提出,構造器是一種特殊的方法,構造對象並對其初始化。 例:Data類的構造器叫Data new Data()---構造一個新對象,且初始化目前時間。 Data happyday=new Data()---把一個對象賦值給一個變數happyday,從而使該對象可以多次使用,此處要聲明的使變數與物件變數二者是不同的。new返回的值是一個引用。 構造器特點:構造器可以有0個,一個或多個參數(假設不寫構造器,預設有一個無參的構造器,所以構造器事實上是最少有一個的。) 構造器和類有同樣的名字 一個類能夠有多個構造器 構造器沒有返回值 構造器總是和new運算子一起使用。 

8.重載:當多個方法具有同樣的名字而含有不同的參數時,便發生重載。編譯器必須挑選出調用哪個方法。

9.包(package)Java同意把一個或多個類收集在一起成為一組,稱作包,以便於組織任務,標準Java庫分為很多包。java.lang java.util java,net等,包是分層次的全部的java包都在java和javax包層次內。 

10.繼承思想:同意在已經存在的類的基礎上構建新的類,當你繼承一個已經存在的類時,那麼你就複用了這個類的方法和欄位,同一時候你能夠在新類中加入新的方法和欄位。 

11.擴充類:擴充類充分體現了is-a的繼承關係。 形式為:class (子類) extends (基類)。 

12.多態:在java中,物件變數是多態的。而java中不支援多重繼承。 

13.動態綁定:調用對象方法的機制。

編譯器檢查對象聲明的類型和方法名。

編譯器檢查方法調用的參數類型。

靜態繫結:若方法類型為priavte static final 編譯器會準確知道該調用哪個方法。

當程式執行而且使用動態綁定來調用一個方法時,那麼虛擬機器必須調用x所指向的對象的實際類型相匹配的方法版本號碼。

動態綁定:是非常重要的特性,它能使程式變得可擴充而不須要重編譯已存代碼。

14.final類:為防止他人從你的類上派生新類,此類是不可擴充的。 

15.動態調用比靜態調用花費的時間要長。 

16.抽象類別:規定一個或多個抽象方法的類本身必須定義為abstract。 例: public abstract string getDescripition 

17.Java中的每個類都是從Object類擴充而來的。 

18.object類中的equal和toString方法。 equal用於測試一個對象是否同還有一個對象相等。 toString返回一個代表該對象的字串,差點兒每個類都會重載該方法,以便返回目前狀態的正確表示。 (toString 方法是一個非常重要的方法) 

19.通用編程:不論什麼類類型的全部值都能夠同object類性的變數來取代。 

20.數組列表:ArrayList動態數組列表,是一個類庫,定義在java.uitl包中,可自己主動調節數組的大小。 

21.class類 object類中的getclass方法返回ckass類型的一個執行個體,程式啟動時包括在main方法的類會被載入,虛擬機器要載入他須要的全部類,每個載入的類都要載入它須要的類。

22.class類為編寫可動態操縱java代碼的程式提供了強大的功能反射,這項功能為JavaBeans特別實用,使用反射Java能支援VB程式猿習慣使用的工具。 可以分析類能力的程式叫反射器,Java中提供此功能的包叫Java.lang.reflect反射機制十分強大。

在執行時分析類的能力。

在執行時探察類的對象。

實現通用數組操縱代碼。

提供方法對象。  而此機制主要針對是工具者而不是應用及程式。 反射機制中的最重要的部分是同意你檢查類的結構。用到的API有: java.lang.reflect.Field 返回欄位。 java.reflect.Method 返回方法。 java.lang.reflect.Constructor 返回參數。 方法指標:java沒有方法指標,把一個方法的地址傳給還有一個方法,能夠在後面調用它,而介面是更好的解決方式。 

23.介面(Interface)說明類該做什麼而不指定怎樣去做,一個類能夠實現一個或多個interface。 

24.介面不是一個類,而是對符合介面要求的類的一套規範。 若實現一個介面須要2個步驟: 1.聲明類須要實現的指定介面。 2.提供介面中的全部方法的定義。  聲明一個類實現一個介面須要使用implements keyword class actionB implements Comparable 其actionb須要提供CompareTo方法,介面不是類,不能用new執行個體化一個介面。 

25.一個類僅僅有一個超類,但一個類能實現多個介面。Java中的一個重要介面:Cloneable 

26.介面和回調。編程一個經常使用的模式是回調模式,在這樣的模式中你能夠指定當一個特定時間發生時回調對象上的方法。 例:ActionListener 介面監聽。 類似的API有:java.swing.JOptionPane java.swing.Timer java.awt.Tookit 

27.對象clone:clone方法是object一個保護方法,這意味著你的代碼不能簡單的調用它。 

28.內部類:一個內部類的定義是定義在還有一個內部的類。 原因是:

一個內部類的對象可以訪問建立它的對象的實現,包含私人資料。

對於同一個包中的其它類來說,內部類可以隱藏起來。

匿名內部類能夠非常方便的定義回調。

使用內部類能夠很方便的編寫事件驅動程式。

29.代理類(proxy): 1.指定介面要求全部代碼 2.object類定義的全部的方法(toString equals) 

30.資料類型:Java是強調類型的語言,每一個變數都必須先申明它都類型,java中總共同擁有8個基本類型。4種是整型,2種是浮點型,一種是字元型,被用於Unicode編碼中的字元,布爾型。 

Java新手入門的30個基本概念

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.