您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“JAVA面對(duì)對(duì)象三大特征是什么”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
面對(duì)對(duì)象的三大特征: 封裝、繼承、多態(tài)
封裝
繼承
多態(tài)
類(lèi)和對(duì)象
關(guān)于類(lèi)
關(guān)于對(duì)象
三大特征第一封裝
關(guān)于封裝思想 :
private關(guān)鍵字
this關(guān)鍵字
構(gòu)造方法
構(gòu)造方法注意事項(xiàng)
封裝是把客觀事物抽象成類(lèi),并且把自己的屬性和方法讓可信的類(lèi)或?qū)ο蟛僮?,?duì)不可性的隱藏。
繼承是指這樣一種能力:它可以使用現(xiàn)有類(lèi)的所有功能,并在無(wú)需重新編寫(xiě)原來(lái)的類(lèi)的情況下對(duì)這些功能進(jìn)行擴(kuò)展。
1. 繼承得到的新類(lèi)稱(chēng)為“子類(lèi)”或“派生類(lèi)”。被繼承的父類(lèi)稱(chēng)為“基類(lèi)”、“父類(lèi)”或“超類(lèi)”。
2. 繼承的過(guò)程是一個(gè)從一般到特殊的的過(guò)程。
3. 繼承概念的實(shí)現(xiàn)方式有二類(lèi):實(shí)現(xiàn)繼承與接口繼承。實(shí)現(xiàn)繼承是指直接使用基類(lèi)的屬性和方法而無(wú)需額外編碼的能力;接口繼承是指僅使用屬性和方法的名稱(chēng)、但是子類(lèi)必須提供實(shí)現(xiàn)的能力;
多態(tài)性(polymorphism)是允許你將父對(duì)象設(shè)置成為和一個(gè)或更多的他的子對(duì)象相等的技術(shù),賦值之后,父對(duì)象就可以根據(jù)當(dāng)前賦值給它的子對(duì)象的特性以不同的方式運(yùn)作。這就意味著雖然針對(duì)不同對(duì)象的具體操作不同,但通過(guò)一個(gè)公共的類(lèi),它們(那些操作)可以通過(guò)相同的方式予以調(diào)用。
了解封裝之前我們先來(lái)了解什么是類(lèi)和對(duì)象
類(lèi)是對(duì)象的數(shù)據(jù)類(lèi)型,類(lèi)是具有相同屬性和行為的一組對(duì)象的集合。也就是說(shuō),類(lèi)是對(duì)現(xiàn)實(shí)事物的一種描述,類(lèi)由屬性和行為組成,
類(lèi)的步驟 :
①定義類(lèi)
②編寫(xiě)類(lèi)的成員變量
③編寫(xiě)類(lèi)的成員方法
例如代碼 :
/* 手機(jī)類(lèi): 類(lèi)名: 手機(jī)(Phone) 成員變量: 品牌(brand) 價(jià)格(price) 成員方法: 打電話(huà)(call) 發(fā)短信(sendMessage) */ public class Phone { //成員變量 String brand; int price; //成員方法 public void call() { System.out.println("打電話(huà)"); } public void sendMessage() { System.out.println("發(fā)短信"); } }
一句話(huà)描述就是能夠看得到摸的著的真實(shí)存在的實(shí)體
創(chuàng)建對(duì)象的格式:
類(lèi)名 對(duì)象名 = new 類(lèi)名();
調(diào)用成員的格式:
對(duì)象名.成員變量
對(duì)象名.成員方法();
例如代碼 :
/* 創(chuàng)建對(duì)象 格式:類(lèi)名 對(duì)象名 = new 類(lèi)名(); 范例:Phone p = new Phone(); 使用對(duì)象 1:使用成員變量 格式:對(duì)象名.變量名 范例:p.brand 2:使用成員方法 格式:對(duì)象名.方法名() 范例:p.call() */ public class PhoneDemo { public static void main(String[] args) { //創(chuàng)建對(duì)象 Phone p = new Phone(); //使用成員變量 System.out.println(p.brand); System.out.println(p.price); p.brand = "小米"; p.price = 2999; System.out.println(p.brand); System.out.println(p.price); //使用成員方法 p.call(); p.sendMessage(); } }
1.封裝概述
是面向?qū)ο笕筇卣髦?br/>
是面向?qū)ο缶幊陶Z(yǔ)言對(duì)客觀世界的模擬,客觀世界里成員變量都是隱藏在對(duì)象內(nèi)部的,外界是無(wú)法直接操作的
2.封裝原則
將類(lèi)的某些信息隱藏在類(lèi)內(nèi)部,不允許外部程序直接訪(fǎng)問(wèn),而是通過(guò)該類(lèi)提供的方法來(lái)實(shí)現(xiàn)對(duì)隱藏信息的操作和訪(fǎng)問(wèn)
成員變量private,提供對(duì)應(yīng)的getXxx()/setXxx()方法
3.封裝好處
通過(guò)方法來(lái)控制成員變量的操作,提高了代碼的安全性
把代碼用方法進(jìn)行封裝,提高了代碼的復(fù)用性
private是一個(gè)修飾符,可以用來(lái)修飾成員(成員變量,成員方法)
被private修飾的成員,只能在本類(lèi)進(jìn)行訪(fǎng)問(wèn),針對(duì)private修飾的成員變量,如果需要被其他類(lèi)使用,提供相應(yīng)的操作
提供“get變量名()”方法,用于獲取成員變量的值,方法用public修飾
提供“set變量名(參數(shù))”方法,用于設(shè)置成員變量的值,方法用public修飾
this修飾的變量用于指代成員變量,其主要作用是(區(qū)分局部變量和成員變量的重名問(wèn)題)
方法的形參如果與成員變量同名,不帶this修飾的變量指的是形參,而不是成員變量
方法的形參沒(méi)有與成員變量同名,不帶this修飾的變量指的是成員變量
圖解
構(gòu)造方法是一種特殊的方法
作用:創(chuàng)建對(duì)象 Student stu = new Student();
格式:
public class 類(lèi)名{
修飾符 類(lèi)名( 參數(shù) ) {
}
}
功能:主要是完成對(duì)象數(shù)據(jù)的初始化
例如代碼 :
class Student { private String name; private int age; //構(gòu)造方法 public Student() { System.out.println("無(wú)參構(gòu)造方法"); } public void show() { System.out.println(name + "," + age); } } /* 測(cè)試類(lèi) */ public class StudentDemo { public static void main(String[] args) { //創(chuàng)建對(duì)象 Student s = new Student(); s.show(); } }
構(gòu)造方法的創(chuàng)建:
a.如果沒(méi)有定義構(gòu)造方法,系統(tǒng)將給出一個(gè)默認(rèn)的無(wú)參數(shù)構(gòu)造方法
b.如果定義了構(gòu)造方法,系統(tǒng)將不再提供默認(rèn)的構(gòu)造方法
構(gòu)造方法的重載:
如果自定義了帶參構(gòu)造方法,還要使用無(wú)參數(shù)構(gòu)造方法,就必須再寫(xiě)一個(gè)無(wú)參數(shù)構(gòu)造方法
“JAVA面對(duì)對(duì)象三大特征是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。