今天就跟大家聊聊有關(guān)帶你了解Java面向?qū)ο蟮幕A(chǔ),類,變量,方法,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
抽象性、封裝性、繼承性和多態(tài)性。
抽象性分為過(guò)程抽象和數(shù)據(jù)抽象。
封裝將數(shù)據(jù)以及加在這些數(shù)據(jù)上的操作組織在一起,成為有獨(dú)立意義的構(gòu)件。外部無(wú)法直接訪問(wèn)封裝的數(shù)據(jù),從而保證了這些數(shù)據(jù)的正確性。
如果外部需要訪問(wèn)類里面的數(shù)據(jù),就必須通過(guò)接口。接口規(guī)定了可對(duì)一個(gè)特定的對(duì)象發(fā)出哪些請(qǐng)求。
繼承是一種聯(lián)結(jié)的層次模型,并允許和鼓勵(lì)類的重用,它提供給了一種明確表述共性的方法。對(duì)象的一個(gè)新類可以從現(xiàn)有的類中派生,這個(gè)過(guò)程稱為類繼承。新類繼承了原始類的特性,新類稱為原始類的派生類(子類)。
多態(tài)是指允許不同類的對(duì)象對(duì)同一消息做出響應(yīng)。
[類修飾符] class 類名 [extends 父類名] [implements 接口名列表]
在定義類時(shí),只是通知編譯器需要準(zhǔn)備多大的內(nèi)存空間,并沒(méi)有為它分配內(nèi)存空間。只有用類創(chuàng)建了對(duì)象后,才會(huì)真正的占用內(nèi)存空間。
Java規(guī)定:如果成員變量沒(méi)有被顯示賦初值,系統(tǒng)將自動(dòng)為它們賦值。
變量類型 | 定義 |
---|---|
成員變量 | 定義在類里面,和方法處于同一層次 |
局部變量 | 定義在方法里面 |
默認(rèn)情況下,成員變量是實(shí)例變量,在外部需要對(duì)象才能操作;如果用static修飾,就成為靜態(tài)成員,也稱為類變量,可以直接操作。如果前面加上關(guān)鍵字final ,它就是一個(gè)常量。
根據(jù)訪問(wèn)權(quán)限來(lái)區(qū)分成員變量 或方法
public | protected | 默認(rèn) | private | |
---|---|---|---|---|
本類內(nèi)部 | √ | √ | √ | √ |
同一包中的子類 | √ | √ | √ | × |
同一包中非子類 | √ | √ | √ | × |
不同包中的子類 | √ | 繼承訪問(wèn) | × | × |
不同包中非子類 | √ | × | × | × |
根據(jù)是否是靜態(tài)來(lái)區(qū)分
特點(diǎn) | |
---|---|
實(shí)例成員變量 | 1.如果所屬的對(duì)象沒(méi)有被創(chuàng)建,實(shí)例成員變量就不存在;2.在類的外部使用它,通過(guò)“對(duì)象名.變量名”來(lái)訪問(wèn);3.在類的內(nèi)部,實(shí)例成員方法也可以直接訪問(wèn)實(shí)例成員變量;4.不同對(duì)象擁有不同的實(shí)例成員變量,互不影響 |
靜態(tài)成員變量 | 1.被類的所有對(duì)象所共享,被稱為類變量;2.它不屬于某個(gè)具體對(duì)象,也不是保存在某個(gè)對(duì)象的內(nèi)存區(qū)域中,而是保存在類的公共存儲(chǔ)單元。在類的對(duì)象被創(chuàng)建之前使用;3.可以通過(guò)對(duì)象名.變量名或者類名.變量名訪問(wèn);4.它是一個(gè)公共變量,無(wú)論哪個(gè)對(duì)象改變了它的值,對(duì)其他所有該類對(duì)象都有效 |
*局部變量必須先定義后使用。
局部變量沒(méi)有訪問(wèn)權(quán)限修飾符,不能用public、private、和protected來(lái)修飾。這是因?yàn)樗荒茉诙x它的方法內(nèi)部使用 |
局部變量不能用static修飾,沒(méi)有“靜態(tài)局部變量”,這是Java和C/C++的區(qū)別 |
系統(tǒng)不會(huì)自動(dòng)問(wèn)局部變量賦初值,但對(duì)于成員變量,系統(tǒng)會(huì)自動(dòng)賦初值。基本類型為0,復(fù)合類型的值為null |
局部變量的作用域僅限于定義它的方法,在方法外部無(wú)法訪問(wèn)它。成員變量的作用域在整個(gè)類內(nèi)部都是可見(jiàn)的,所有成員方法都可以使用它。如果訪問(wèn)權(quán)限允許,還可以在類的外部使用它 |
局部變量的生存周期與方法的執(zhí)行期相同。當(dāng)方法執(zhí)行到定義局部變量的語(yǔ)句時(shí),局部變量被創(chuàng)建;執(zhí)行到它所在的作用于的最后一條語(yǔ)句時(shí),局部變量被銷毀。類的成員變量,如果是實(shí)例成員變量,它和對(duì)象的生存期相同;靜態(tài)成員變量的生存期是整個(gè)程序運(yùn)行期 |
在同一個(gè)方法中,不允許有同名的局部變量;在不同的方法中,可以有同名的局部變量,互不干涉 |
局部變量可以與成員變量同名,且在使用時(shí),局部變量有更高的優(yōu)先級(jí) |
方法類型 | |
---|---|
實(shí)例方法 | 必須在類實(shí)例化后通過(guò)對(duì)象來(lái)調(diào)用 |
靜態(tài)方法(類方法) | 可以在類實(shí)例化之前就使用 |
public class test{ public void showMsg(){ System.out.println("This is showMsg method."); } public void callOther(){ showMsg(); } public static void main(String args[ ]){ test ob = new test();// ?為什么不直接調(diào)用 ob.callOther(); } }
文章名稱:帶你了解Java面向?qū)ο蟮幕A(chǔ),類,變量,方法-創(chuàng)新互聯(lián)
文章路徑:http://jinyejixie.com/article30/djcgpo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、響應(yīng)式網(wǎng)站、企業(yè)建站、微信小程序、ChatGPT、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容