java纯粹面向对象_Java的面向对象特征
Java是純粹的面向?qū)ο缶幊陶Z(yǔ)言,完全支持面向?qū)ο蟮娜蠡咎卣?封裝、繼承和多態(tài)。Java程序的組成單位就是類(lèi),不管多大的Java應(yīng)用程序,都是由一個(gè)個(gè)類(lèi)組成的。
1. 一切都是對(duì)象
在Java語(yǔ)言中,除了8個(gè)基本數(shù)據(jù)類(lèi)型值之外,-切都是對(duì)象,而對(duì)象就是面向?qū)ο蟪绦蛟O(shè)計(jì)的中心。對(duì)象是人們要進(jìn)行研究的任何事物,從最簡(jiǎn)單的整數(shù)到復(fù)雜的飛機(jī)等均可看作對(duì)象,它不僅能表示具體的事物,還能表示抽象的規(guī)則、計(jì)劃或事件。
對(duì)象具有狀態(tài),一個(gè)對(duì)象用數(shù)據(jù)值來(lái)描述它的狀態(tài)。Java通過(guò)為對(duì)象定義成員變量來(lái)描述對(duì)象的狀態(tài);對(duì)象還有操作,這些操作可以改變對(duì)象的狀態(tài),對(duì)象的操作也被稱(chēng)為對(duì)象的行為,Java通過(guò)為對(duì)象定義方法來(lái)描述對(duì)象的行為。
對(duì)象實(shí)現(xiàn)了數(shù)據(jù)和操作的結(jié)合,對(duì)象把數(shù)據(jù)和對(duì)數(shù)據(jù)的操作封裝成- -個(gè)有機(jī)的整體,因此面向?qū)ο筇峁┝烁蟮木幊塘6?#xff0c;對(duì)程序員來(lái)說(shuō),更易于掌握和使用。
對(duì)象是Java程序的核心,所以Java里的對(duì)象具有唯一一性, 每個(gè)對(duì)象都有一-個(gè)標(biāo)識(shí)來(lái)引用它,如果某個(gè)對(duì)象失去了標(biāo)識(shí),這個(gè)對(duì)象將變成垃圾,只能等著系統(tǒng)垃圾回收機(jī)制來(lái)回收它。Java 語(yǔ)言不允許直接訪(fǎng)問(wèn)對(duì)象,而是通過(guò)對(duì)對(duì)象的引用來(lái)操作對(duì)象。
2.類(lèi)和對(duì)象
具有相同或相似性質(zhì)的- -組對(duì)象 的抽象就是類(lèi),類(lèi)是對(duì)一類(lèi)事物的描述,是抽象的、概念上的定義:對(duì)象是實(shí)際存在的該類(lèi)事物的個(gè)體,因而也稱(chēng)為實(shí)例(instance)。
對(duì)象的抽象化是類(lèi),類(lèi)的具體化就是對(duì)象,也可以說(shuō)類(lèi)的實(shí)例是對(duì)象。類(lèi)用來(lái)描述一系列對(duì)象, 類(lèi)概述每個(gè)對(duì)象應(yīng)包括的數(shù)據(jù),類(lèi)概述每個(gè)對(duì)象的行為特征。因此,可以把類(lèi)理解成某種概念、定義,它規(guī)定了某類(lèi)對(duì)象所共同具有的數(shù)據(jù)和行為特征。
Java語(yǔ)言使用class關(guān)鍵字定義類(lèi),定義類(lèi)時(shí)可使用成員變量來(lái)描述該類(lèi)對(duì)象的數(shù)據(jù),可使用方法來(lái)描述該類(lèi)對(duì)象的行為特征。
在客觀世界中有若干類(lèi),這些類(lèi)之間有一定的結(jié)構(gòu)關(guān)系。 通常有如下兩種主要的結(jié)構(gòu)系。
1.一般一特殊關(guān)系:這種關(guān)系就是典型的繼承關(guān)系,Java語(yǔ)言使用extends關(guān)鍵字來(lái)表示這種繼承關(guān)系,Java 的子類(lèi)是一種特殊的父類(lèi)。因此,這種一般-特殊的關(guān)系其實(shí)是一一種”isa”關(guān)系。
提示:
在講授面向?qū)ο髸r(shí)經(jīng)常提的一個(gè)概念一-般 一特殊的關(guān)系也可代表大類(lèi)和小類(lèi)的關(guān)i系。比如水果一蘋(píng)果,就是典型的一般-特殊的關(guān)系,蘋(píng)果isa水果, 水果的范圍是不是比蘋(píng)果的范圍大呢?所以可以認(rèn)為:父類(lèi)也可被稱(chēng)為大類(lèi), 子類(lèi)也可被稱(chēng)為小類(lèi)。
2.整體→部分結(jié)構(gòu)關(guān)系:也被稱(chēng)為組裝結(jié)構(gòu),這是典型的組合關(guān)系,Java 語(yǔ)言通過(guò)在-一個(gè)類(lèi)里保存另一個(gè)對(duì)象的引用來(lái)實(shí)現(xiàn)這種組合關(guān)系。因此,這種整體-部分結(jié)構(gòu)關(guān)系其實(shí)是一-種 “has a”關(guān)系。
開(kāi)發(fā)者定義了Java 類(lèi)之后,就可以使用new關(guān)鍵字來(lái)創(chuàng)建指定類(lèi)的對(duì)象了,每個(gè)類(lèi)可以創(chuàng)建任意多個(gè)對(duì)象,多個(gè)對(duì)象的成員變量值可以不同一這表現(xiàn) 為不同對(duì)象的數(shù)據(jù)存在差異。
總結(jié)
以上是生活随笔為你收集整理的java纯粹面向对象_Java的面向对象特征的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: jupyter notebook pyt
- 下一篇: mysql 平均响应时间_Percona