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

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

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

一、封裝性的含義

封裝性的作為java面向?qū)ο笏枷氲娜筇卣髦弧?/p>

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

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

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

二、封裝性的作用

①提高了代碼的復用性。

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

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

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

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

3.1、四種權(quán)限修飾符的介紹

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

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

注意:class 的權(quán)限修飾只可以用public 和 default(缺?。?/p>

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);   //通過權(quán)限為public的setAge()方法錄入age的值
		animals.setLeg(4);    //通過權(quán)限為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的構(gòu)造器和this關鍵字,下面會一一進行介紹)

四、構(gòu)造器的解釋

4.1、構(gòu)造器的作用

①創(chuàng)建對象

②初始化對象的屬性

4.2、注意事項

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

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

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

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

⑤一個類中,至少有一個構(gòu)造器。

4.3、構(gòu)造器的舉例說明

(這些都是構(gòu)造器)

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

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

animals animals = new animals();

五、this關鍵字的使用

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

5.1、this修飾屬性和方法 

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

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

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

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

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

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

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

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

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

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;
	}

總結(jié)

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

相關文章

  • Springboot使用cache緩存過程代碼實例

    Springboot使用cache緩存過程代碼實例

    這篇文章主要介紹了Springboot使用cache緩存過程代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-06-06
  • java隨機生成時間字符串的方法

    java隨機生成時間字符串的方法

    這篇文章主要為大家詳細介紹了java隨機生成時間字符串的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • 解決idea中maven項目打包成jar報錯:沒有主清單屬性的問題

    解決idea中maven項目打包成jar報錯:沒有主清單屬性的問題

    這篇文章主要給大家分享了idea中maven項目打包成jar,報錯沒有主清單屬性解決方法,文中有詳細的解決方法,如果又遇到同樣問題的朋友可以參考一下本文
    2023-09-09
  • Java設計模式之橋接模式實例詳解

    Java設計模式之橋接模式實例詳解

    這篇文章主要介紹了Java設計模式之橋接模式,結(jié)合實例形式詳細分析了橋接模式的概念、功能、Java實現(xiàn)方法及相關注意事項,需要的朋友可以參考下
    2017-09-09
  • Java使用WebFlux調(diào)用大模型實現(xiàn)智能對話

    Java使用WebFlux調(diào)用大模型實現(xiàn)智能對話

    這篇文章主要為大家詳細介紹了Java如何使用WebFlux調(diào)用大模型實現(xiàn)智能對話效果,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2025-06-06
  • 關于MyBatis Plus中使用or和and問題

    關于MyBatis Plus中使用or和and問題

    這篇文章主要介紹了關于MyBatis Plus中使用or和and問題,需要的朋友可以參考下
    2020-12-12
  • java 裝飾模式(Decorator Pattern)詳解及實例代碼

    java 裝飾模式(Decorator Pattern)詳解及實例代碼

    裝飾器模式(Decorator Pattern)允許向一個現(xiàn)有的對象添加新的功能,同時又不改變其結(jié)構(gòu)。這種類型的設計模式屬于結(jié)構(gòu)型模式,它是作為現(xiàn)有的類的一個包裝
    2016-10-10
  • 使用SpringCache加Redis做緩存

    使用SpringCache加Redis做緩存

    這篇文章主要介紹了使用SpringCache加Redis做緩存方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • idea配置全局變量Jdk、maven倉庫以及maven詳解(全文圖解)

    idea配置全局變量Jdk、maven倉庫以及maven詳解(全文圖解)

    這篇文章主要給大家介紹了關于idea配置全局變量Jdk、maven倉庫以及maven的相關資料,在配置JDK和Maven之前,需要確保已經(jīng)正確安裝了JDK和Maven,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2024-01-01
  • 基于SpringBoot打造一個通用CLI命令系統(tǒng)

    基于SpringBoot打造一個通用CLI命令系統(tǒng)

    在日常開發(fā)中,某些情況下可能需要為服務提供一個命令行工具(CLI),方便運維、調(diào)試或者遠程調(diào)用業(yè)務接口,下面我們就來使用SpringBoot打造一個通用的CLI命令系統(tǒng)吧
    2025-12-12

最新評論

比如县| 营口市| 教育| 桂林市| 金阳县| 拜城县| 霸州市| 盐亭县| 佳木斯市| 丰原市| 太保市| 肥西县| 蓬安县| 汝城县| 赤峰市| 连云港市| 马关县| 西充县| 铁岭市| 马关县| 罗源县| 兴宁市| 清远市| 什邡市| 东莞市| 阳新县| 安乡县| 重庆市| 乌海市| 汉沽区| 香河县| 伊金霍洛旗| 庆安县| 汝阳县| 瑞昌市| 外汇| 泗洪县| 商丘市| 台安县| 德钦县| 石城县|