亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

java語(yǔ)言中封裝類代碼示例

 更新時(shí)間:2018年01月03日 10:15:02   作者:ttxxly  
這篇文章主要介紹了java語(yǔ)言中封裝類,涉及相關(guān)代碼示例及結(jié)果分析,以及封裝的好處簡(jiǎn)單介紹,具有一定借鑒價(jià)值,需要的朋友可以參考下

在面向?qū)ο蟪绦蛟O(shè)計(jì)方法中,封裝(Encapsulation)是指一種將抽象性函式接口的實(shí)現(xiàn)細(xì)節(jié)部分包裝‘隱藏起來(lái)的方法。數(shù)據(jù)被保護(hù)在內(nèi)部,隱藏內(nèi)部實(shí)現(xiàn)細(xì)節(jié),對(duì)外提供接口與外部交互。

使用封裝的步驟

將類的所有屬性使用關(guān)鍵字private去修飾,把它們變成私有的,不允許外部類直接訪問(wèn)
生成或者提供公共的setter/getter方法去操作這些被隱藏起來(lái)的屬性
在類自己的 setter/getter方法中加入邏輯控制,以確保數(shù)據(jù)訪問(wèn)的有效性和安全性實(shí)例

讓我們來(lái)看一個(gè)java封裝類的例子:

/* 文件名: EncapTest.java */
public class EncapTest{
	private String name;
	private String idNum;
	private int age;
	public int getAge(){
		return age;
	}
	public String getName(){
		return name;
	}
	public String getIdNum(){
		return idNum;
	}
	public void setAge( int newAge){
		age = newAge;
	}
	public void setName(String newName){
		name = newName;
	}
	public void setIdNum( String newId){
		idNum = newId;
	}
}

以上實(shí)例中public方法是外部類訪問(wèn)該類成員變量的入口。

通常情況下,這些方法被稱為getter和setter方法。

因此,任何要訪問(wèn)類中私有成員變量的類都要通過(guò)這些getter和setter方法。

通過(guò)如下的例子說(shuō)明EncapTest類的變量怎樣被訪問(wèn):

/* F文件名 : RunEncap.java */
public class RunEncap{
 public static void main(String args[]){
  EncapTest encap = new EncapTest();
  encap.setName("James");
  encap.setAge(20);
  encap.setIdNum("12343ms");

  System.out.print("Name : " + encap.getName()+ 
        " Age : "+ encap.getAge());
 }
}

以上代碼編譯運(yùn)行結(jié)果如下:

Name : James Age : 20

使用封裝的好處

1、良好的封裝能夠減少耦合

2、類內(nèi)部的結(jié)構(gòu)可以自由修改。

3、可以對(duì)成員進(jìn)行更精確的控制。

4、隱藏信息,實(shí)現(xiàn)細(xì)節(jié)

總結(jié)

以上就是本文關(guān)于java語(yǔ)言中封裝類代碼示例的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!

相關(guān)文章

  • Elasticsearch寫入瓶頸導(dǎo)致skywalking大盤空白

    Elasticsearch寫入瓶頸導(dǎo)致skywalking大盤空白

    這篇文章主要為大家介紹了Elasticsearch寫入瓶頸導(dǎo)致skywalking大盤空白的解決方案,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-02-02
  • MyBatis如何配置多sql腳本執(zhí)行

    MyBatis如何配置多sql腳本執(zhí)行

    這篇文章主要介紹了MyBatis如何配置多sql腳本執(zhí)行問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • springBoot詳細(xì)講解使用mybaties案例

    springBoot詳細(xì)講解使用mybaties案例

    MyBatis本是apache的一個(gè)開源項(xiàng)目iBatis,2010年這個(gè)項(xiàng)目由apache software foundation遷移到了google code,并且改名為MyBatis。2013年11月遷移到Github。iBATIS一詞來(lái)源于“internet”和“abatis”的組合,是一個(gè)基于Java的持久層框架
    2022-05-05
  • Springboot整合mybatis的步驟

    Springboot整合mybatis的步驟

    這篇文章主要介紹了Springboot整合mybatis的步驟,幫助大家更好的理解和學(xué)習(xí)使用
    2021-04-04
  • 全解析Spring Cloud之負(fù)載均衡之LoadBalance

    全解析Spring Cloud之負(fù)載均衡之LoadBalance

    這篇文章主要介紹了全解析Spring Cloud之負(fù)載均衡之LoadBalance的相關(guān)資料,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧
    2025-05-05
  • json轉(zhuǎn)換成java對(duì)象示例

    json轉(zhuǎn)換成java對(duì)象示例

    這篇文章主要介紹了json轉(zhuǎn)換成java對(duì)象示例,需要的朋友可以參考下
    2014-04-04
  • Eclipse中maven的配置詳解

    Eclipse中maven的配置詳解

    這篇文章主要介紹了Eclipse中maven的配置詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • 淺談MyBatis循環(huán)Map(高級(jí)用法)

    淺談MyBatis循環(huán)Map(高級(jí)用法)

    這篇文章主要介紹了淺談MyBatis循環(huán)Map(高級(jí)用法),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • java使用xfire搭建webservice服務(wù)的過(guò)程詳解

    java使用xfire搭建webservice服務(wù)的過(guò)程詳解

    這篇文章主要介紹了java使用xfire搭建webservice服務(wù)的過(guò)程。使用xfire搭建webService的服務(wù),可以在瀏覽器訪問(wèn)。對(duì)此感興趣的可以了解一下
    2020-07-07
  • Mybatis執(zhí)行Update返回行數(shù)為負(fù)數(shù)的問(wèn)題

    Mybatis執(zhí)行Update返回行數(shù)為負(fù)數(shù)的問(wèn)題

    這篇文章主要介紹了Mybatis執(zhí)行Update返回行數(shù)為負(fù)數(shù)的問(wèn)題,具有很好的參考價(jià)值,希望大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12

最新評(píng)論