最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java中的封裝性(包含this關鍵字,構造器等)

 更新時間:2024年03月27日 09:06:04   作者:ice-Hamster  
這篇文章主要介紹了Java中的封裝性(包含this關鍵字,構造器等)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

一、封裝性的含義

封裝性的作為java面向對象思想的三大特征之一。

從字面上看,就是將一部分的東西整合成一個整體。

用專業(yè)的術語來講,可以理解為:隱藏對象內(nèi)部的復雜性,只對外公開簡單的接口。

(通俗來講封裝性的設計思想:把該隱藏的隱藏起來,該暴露的暴露出來)       

二、封裝性的作用

①提高了代碼的復用性。

②提高了代碼的安全性。(利用private訪問控制符,讓訪問權限降到最低,從而提高安全性)

③降低了代碼的復雜程度。(將復雜的內(nèi)部細節(jié)全部進行封裝,只留下簡單的接口,通過接口進行對方法的調(diào)用。)

三、封裝性的體現(xiàn)

在了解實現(xiàn)分裝性前我們要先了解Java的四種權限修飾符。

3.1、四種權限修飾符的介紹

Java權限修飾符 public、protected、default、private 可以放置在類的成員對象定義前

4 種權限用來修飾類及類的內(nèi)部結構:屬性、方法、構造器、內(nèi)部類 (不同權限的訪問權限如下:)

注意:class 的權限修飾只可以用public 和 default(缺?。?。

3.2、分裝性具體的實現(xiàn)

我們將類的屬性私有化(private)同時,要提供公共的(public)getxxx和setxxx方法來獲取和輸出值。(示例代碼如下)

package cn.spilt_charging.contact;
 
public class Animal {
	
	public static void main(String[] args) {
		animals animals = new animals();
		
		animals.name = "小白";
		//animals.age = 10;   //無法直接調(diào)用(age為私有性)
		//animals.legs = 4;     //無法直接調(diào)用(legs為私有性)
		
		animals.setAge(10);   //通過權限為public的setAge()方法錄入age的值
		animals.setLeg(4);    //通過權限為public的setLeg()方法錄入legs的值
		
		System.out.print("這只動物的名字叫做:" + animals.name + 
				",年齡為:" + animals.getAge() + "歲," + "有" + animals.getLeg() + "條腿");
		//相對應的私有性的age和legs要分別使用getAge()、getLeg()方法輸出。
	}
}
 
class animals{
	String name; //動物的名字
	private int age;  //動物的年齡(私有性)
	private int legs;  //動物的腿的個數(shù)(私有性)
	
	public void setLeg(int legs) {  //legs對應的set方法
		this.legs = legs;
	}
	
	public int getLeg(){    //legs對應的get方法
		return legs;
	}
	
	public void setAge(int age) {  //age對應的set方法
		this.age = age;
	}
	
	public int getAge() {   //age對用的get方法
		return age;
	}
}

(代碼中涉及到了Java的構造器和this關鍵字,下面會一一進行介紹)

四、構造器的解釋

4.1、構造器的作用

①創(chuàng)建對象

②初始化對象的屬性

4.2、注意事項

①如果沒有顯示的定義類的構造器的話,則系統(tǒng)默認提供一個空參的構造器。

②定義構造器的格式:權限修飾符 類名(形參列表){}  

③一個類中定義的多個構造器,彼此之間會構成重載。

④一旦顯示的定義類的構造器后,系統(tǒng)就不會再提供默認的空參構造器。

⑤一個類中,至少有一個構造器。

4.3、構造器的舉例說明

(這些都是構造器)

	public animals() {
		System.out.print(".......");
	}
	
	public animals(String name) {
		name = name;
	}
	
	public animals(String name,int age) {
		name = name;
		age = age;
	}

就3.2的代碼來說,下面代碼中 animals()就是構造器

animals animals = new animals();

五、this關鍵字的使用

this 用來修飾、調(diào)用:屬性、方法、構造器

5.1、this修飾屬性和方法 

this 理解為:當前對象 , 或當前正在創(chuàng)建的對象。

①在類的方法中,我們可以使用 "this. 屬性 " 或 "this. 方法 " 的方式,調(diào)用當前對象屬性或方法。通常情況下,我們都選擇省略“this.”。特殊情況下,如果方法的形參和類的屬性同名,我們必須顯式的使用 "this. 變量 " 的方式,表明此變量是屬性,而非形參。

②在類的構造器中,我們可以使用 "this. 屬性 " 或 "this. 方法 " 的方式,調(diào)用正在創(chuàng)建的對象屬性和方法。但是,通常情況下,我們都選擇省略“this.”。特殊情況下,如果構造器的形參和類的屬性同名,我們必須顯式的使用 "this. 變量 " 的方式,表明此變量是屬性,而非形參。

5.2、this 調(diào)用構造器

① 我們可以在類的構造器中,顯式的使用 " this( 形參列表 ) " 的方式,調(diào)用本類中重載的其他的構造器!

② 構造器中不能通過 "this ( 形參列表 ) " 的方式調(diào)用自己。

③ 如果一個類中有 n 個構造器,則最多有 n -1 個構造器中使用了"this ( 形參列表 )"。

④ 規(guī)定: " this( 形參列表 ) " 必須聲明在類的構造器的首行!

⑤ 在類的一個構造器中,最多只能聲明一個 "this( 形參列表 )",用來調(diào)用其他構造器。

5.3、this的舉例

如3.2的代碼所示:

	public void setLeg(int legs) {  //legs對應的set方法
		this.legs = legs;
	}
 
	public void setAge(int age) {  //age對應的set方法
		this.age = age;
	}

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論

婺源县| 综艺| 巴彦淖尔市| 汶上县| 秀山| 三亚市| 南和县| 滦南县| 宾川县| 中卫市| 金沙县| 察哈| 大洼县| 柞水县| 德庆县| 定州市| 岳普湖县| 两当县| 集贤县| 云林县| 甘德县| 桦南县| 海口市| 温宿县| 莱阳市| 甘南县| 洛阳市| 陕西省| 正镶白旗| 五指山市| 玉屏| 宜兴市| 江门市| 德清县| 饶阳县| 新安县| 靖安县| 定结县| 阳曲县| 双鸭山市| 登封市|