java面向對象語言
1. 如何理解java中的面向對象謝謝!
java語言就是一門編程語言,用來解決現實當中各種復雜的業務邏輯問題。
Java 在特定情況下解決了特定平台間的跨平台問題,解決方法是把 Java 本身做成一個平台。然後,只要把 Java 平台本身部署到目標機器,那麼應用理論上就可以用了,這個方法對不同 flavor 的 Unix 系統之間的程序移植帶來了很多好處。——這所有的好處都來自伺服器領域。——Java 虛擬機把這些「型號不同但實質上等價」的伺服器虛擬成一致的。但 Java 無法解決那些「實質上就不一樣的設備」之間的兼容性。
Java 最初的目標,甚至都不是為了把 Windows 移植到 Linux,而是為了讓不同 flavor 的 Unix 之間能夠做到二進制兼容。但無論如何,不同的 Unix 本質上都是 Unix,他們之間實現二進制兼容相對比較現實。但諸如 Linux/Windows/OSX 這樣本質區別很大的平台,二進制兼容很大程度上只是過於美好的幻想。他們在一些系統核心調用方面可能存在完全不同的機制,以至於你為了選擇一個所有系統可用的方式必須犧牲最優效率。
2. 請問Java是面向對象語言么
是,但是不是因為所有java的文件是類就是,而是因為她完全支持面向對象的三大特性,封裝、繼承、多態,尤其是多態,很多所謂的半面向對象如VB6.0和delphi7.0等,就是對多態支持不好,不能很好的表達抽象,你要記住面向對象玩的就是抽象!
3. java面向對象的特徵有哪些
眾所周知,Java是一種面向對象性的語言。而面向對象,Obeject Oriented,是一種編程術語。面向對象是當今軟體開發方法的主流方法之一,他是把數據以及對數據的操作放在一起,作為一個相互依存的整體,就是我們所說的對象。那麼Java面向對象的特徵又是什麼?下面就一起來看看Java面向對象的四大特徵:
特徵一:抽象
抽象就是忽略一個主題中與當前目標無關的那些方面,以便更充分地注意與當前目標有關的方面。抽象不打算了解全部問題,而是選擇其中的一部分,暫時不用部分細節。抽象包括兩個方面:過程抽象;數據抽象。
特徵二:繼承
繼承是一種連接類的層次模型,並且允許和鼓勵類的重用,它提供了一種明確表述共性的方法。對象的一個新類可以從現有的類中派生,這個過程稱為類的繼承。新類繼承了原始類的特性,新類稱為原始類的派生類(子類),而原始類稱為新類的基類(父類)。派生類可以從它的基類那裡繼承方法和實例變數,並且派生類可以修改或者增加新的方法使之更適合特殊的需要。
特徵三:封裝
封裝是指將客觀事物抽象成類,每個類對自身的數據和方法實行保護。類可以把自己的數據和方法只讓可信的類或者對象操作,對不可信的進行信息隱藏。
特徵四:多態
多態是指允許不同類的對象對同一消息做出響應。多態包括參數化多態和包含多態。多態性語言具有靈活、抽象、行為共享、代碼共享等優勢,很好地解決了應用程序函數同名問題。Java中實現多態主要是方法的重載和方法的覆蓋。
4. JAVA中什麼是面向對象
在java的學習中,面向對象應該是java技術的重中之重,雖然在生活中沒有對象可以面對,但在技術中還是要一直接觸面對對象,而且不可避免。今天對面向對象來了一個小總結。
一、面向對象的特點:
1、將復雜的事情簡單化。
2、面向對象將以前的過程中的執行者,變成了指揮者。
3、面向對象這種思想是符合現在人們思考習慣的一種思想。
過程和對象在我們的程序中是如何體現的呢?過程其實就是函數;對象是將函數等一些內容進行了封裝。
二、匿名對象使用場景:
1、當對方法只進行一次調用的時候,可以使用匿名對象。
2、當對象對成員進行多次調用時,不能使用匿名對象。必須給對象起名字。
三、在類中定義其實都稱之為成員。成員有兩種:
1、成員變數:其實對應的就是事物的屬性。
2、成員函數:其實對應的就是事物的行為。
所以,其實定義類,就是在定義成員變數和成員函數。但是在定義前,必須先要對事物進行屬性和行為的分析,才可以用代碼來體現。
四、類中怎麼沒有定義主函數呢?
注意:主函數的存在,僅為該類是否需要獨立運行,如果不需要,主函數是不用定義的。主函數的解釋:保證所在類的獨立運行,是程序的入口,被jvm調用。
五、成員變數和局部變數的區別:
1、成員變數直接定義在類中;局部變數定義在方法中,參數上,語句中。
2、成員變數在這個類中有效;局部變數只在自己所屬的大括弧內有效,大括弧結束,局部變數失去作用域。
3、成員變數存在於堆內存中,隨著對象的產生而存在,消失而消失;局部變數存在於棧內存中,隨著所屬區域的運行而存在,結束而釋放。
六、構造函數和一般函數有什麼區別呢?
1、兩個函數定義格式不同。
2、構造函數是在對象創建時,就被調用,用於初始化,而且初始化動作只執行一次。
一般函數,是對象創建後,需要調用才執行,可以被調用多次。
七、創建一個對象都在內存中做了什麼事情?
1、先將硬碟上指定位置的Person.class文件載入進內存。
2、執行main方法時,在棧內存中開辟了main方法的空間(壓棧-進棧),然後在main方法的棧區分配了一個變數p。
3、在堆內存中開辟一個實體空間,分配了一個內存首地址值。new
4、在該實體空間中進行屬性的空間分配,並進行了默認初始化。
5、對空間中的屬性進行顯示初始化。
6、進行實體的構造代碼塊初始化。
7、調用該實體對應的構造函數,進行構造函數初始化。
8、將首地址賦值給p ,p變數就引用了該實體。(指向了該對象)