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

Java中private關(guān)鍵字詳細用法實例以及解釋

 更新時間:2024年01月30日 09:45:28   作者:黎鶴舞828  
這篇文章主要給大家介紹了關(guān)于Java中private關(guān)鍵字詳細用法實例以及解釋的相關(guān)資料,在Java中private是一種訪問修飾符,它可以用來控制類成員的訪問權(quán)限,文中將用法介紹的非常詳細,需要的朋友可以參考下

一、為什么要使用private

? 出于 安全性考慮,我們在寫字段時,盡量考慮采用 封裝,這樣可以隱藏類的細節(jié),只對外開放接口即可實現(xiàn)對象之間的交互。

二、private關(guān)鍵字的定義

  • private是 一個訪問限定修飾符

  • 可修飾的的范圍:

    修飾成員變量:
    表示當(dāng)前成員變量只能在當(dāng)前類中使用

    修飾成員方法:

    表示當(dāng)前成員方法只能在當(dāng)前類中使用

附:訪問限定修飾符圖表

三、private代碼的實例

修飾成員變量時:

class Person {
    private String name = "張三";
    int age = 18;
}

class Student extends Person {

    public String gender;
}
public class Test {
    //private關(guān)鍵字測試
    public static void main(String[] args) {

        Person person = new Person();
        Person p = new Student();

        //編譯均無法通過,因為String name 屬性被 private修飾
        System.out.println(person.name);
        System.out.println(p.name);
    }

如下:

那么如何讓其他類使用到private的成員變量呢?

? 我們可以創(chuàng)建一個 public 方法,在方法里 僅return 被private修飾的變量

? 這里我們用getName() 方法來傳遞name的值;

class Person {
    private String name = "張三";
    int age = 18;

    //用來傳遞private修飾的name的值
    public String getName() {
        return name;
    }
}

public class Test {


    //private關(guān)鍵字測試
    public static void main(String[] args) {

        Person person = new Person();

        System.out.println(person.getName());
    }

? 同理,如果我們想對private修飾的變量進行賦值,可以建立一個setName()方法;

class Person {
    private String name = "張三";
    int age = 18;

    //用來傳遞private修飾的name的值
    public String getName() {
        return name;
    }

    //用來修改private修飾的name的值
    public void setName(String name) {
        this.name = name;
    }
}

public class Test {


    //private關(guān)鍵字測試
    public static void main(String[] args) {

        Person person = new Person();

        System.out.println("修改之前:" + person.getName());
        person.setName("李四");
        System.out.println("修改之后:" +person.getName());
    }
}

運行結(jié)果如圖:

注: 如果你使用的集成開發(fā)環(huán)境是IDEA,那么可以使用快捷鍵快速創(chuàng)建 Getter and setter函數(shù)

如果點擊 Getter and Setter,編譯器會自動創(chuàng)建好上述兩個方法;

如果只想創(chuàng)建Getter 或 是Setter方法,只用點擊上面的 Getter 或者是 Setter就可以了。

補充:用簡單的實踐代碼操作講解

0、為什么封裝函數(shù)?

(為了更靈活方便運用代碼,將封裝好的函數(shù)另存一個java文件,寫程序的時候?qū)懞喍痰拇a調(diào)用封裝函數(shù),可以避免由于程序過多,不好整理代碼,也可以減少在繁瑣的代碼中尋找錯誤和修改程序)

廢話少說,回歸正題:

1、用private封裝好需要的函數(shù):

public class 練習(xí)封裝函數(shù) {
private String name;//封裝一個姓名的函數(shù)
private String sex;//封裝性別函數(shù)
private int number;//封裝學(xué)生的學(xué)號函數(shù)
private double score;//封裝學(xué)生的成績函數(shù)
}

2、封裝好函數(shù)后,訪問被封裝好的函數(shù)屬性內(nèi)容,就要用到Setter和Getter方法來實現(xiàn),(即給封裝的各個函數(shù)進行初始化設(shè)置)

  • Setter方法:對屬性內(nèi)容進行定義和賦值;
  • Getter方法:讀取屬性內(nèi)容信息。

(一個一個寫有些繁瑣,如果是eclipse軟件,可用快捷鍵shift+alt+s彈出窗口選 生成setter和getter方法,把封裝的所有函數(shù)打上勾生成即可)(代碼下面都有相關(guān)注釋)

public void setName(String name) {
		this.name = name;
	}
public String getName() {
		return name;
	}
public String setSex() {
		this.sex;
	}
public String getSex() {
		return sex;
	}
public int setNumber() {
		this.number;
	}
public int getNumber() {
		return number;
	}
public double setScore() {
		this.score;
	}
public double getScore() {
		return score;
	}

【注】getter方法必須有返回值return,setter和getter方法中的數(shù)據(jù)類型必須與封裝函數(shù)的類型保持一致!

3、封裝好的函數(shù)setter和getter初始化完成后,給程序定義一個輸出函數(shù):

public void show() {
		System.out.println("姓名:"+name+"\n"+"性別:"+sex+"\n"+"學(xué)號:"+number+"\n"+"成績:"+score);
	}

然后在同一包里面新建JAVA類,在class塊里面輸入調(diào)用函數(shù)的代碼:

public static void main(String[] args) {
		練習(xí)封裝函數(shù) s1 = new 練習(xí)封裝函數(shù)();
		s1.setName("小明");
		s1.setSex("男");
		s1.setNumber(202002039)
		s1.setScore(99);
		s1.show();//調(diào)用上面寫好的輸出函數(shù)
	}

顯示結(jié)果為:

姓名:小明
性別:男
學(xué)號:202002039
成績:99

總結(jié)

到此這篇關(guān)于Java中private關(guān)鍵字詳細用法實例以及解釋的文章就介紹到這了,更多相關(guān)Java private關(guān)鍵字用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 基于Java?利用Mybatis實現(xiàn)oracle批量插入及分頁查詢

    基于Java?利用Mybatis實現(xiàn)oracle批量插入及分頁查詢

    這篇文章主要介紹了基于Java?利用Mybatis實現(xiàn)oracle批量插入及分頁查詢,文章圍繞主題展開詳細的內(nèi)容介紹,需要的小伙伴可以參考一下
    2022-07-07
  • java去除重復(fù)對象的簡單實例

    java去除重復(fù)對象的簡單實例

    下面小編就為大家?guī)硪黄猨ava去除重復(fù)對象的簡單實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • JAVA的發(fā)展前景如何好不好自學(xué)

    JAVA的發(fā)展前景如何好不好自學(xué)

    這篇文章主要介紹了JAVA的發(fā)展前景如何好不好自學(xué),很多朋友想自學(xué)java不知道好不好學(xué),能不能學(xué)會,今天小編給大家分享一篇教程關(guān)于java的發(fā)展前景的文章,需要的朋友可以參考下
    2020-06-06
  • Java線上死鎖問題從定位到解決的全鏈路指南

    Java線上死鎖問題從定位到解決的全鏈路指南

    在分布式系統(tǒng)高并發(fā)場景下,死鎖如同定時炸彈,隨時可能引發(fā)服務(wù)雪崩,本文將分享一套完整的死鎖應(yīng)對策略,結(jié)合實戰(zhàn)案例與生產(chǎn)級解決方案,助你快速化解危機,需要的朋友可以參考下
    2025-06-06
  • Java實戰(zhàn)之基于I/O流設(shè)計的圖書管理系統(tǒng)

    Java實戰(zhàn)之基于I/O流設(shè)計的圖書管理系統(tǒng)

    這篇文章主要介紹了Java實戰(zhàn)之基于I/O流設(shè)計的圖書館管理系統(tǒng),文中有非常詳細的代碼示例,對正在學(xué)習(xí)java的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • mybatis xml中特殊字符處理及特殊符號

    mybatis xml中特殊字符處理及特殊符號

    這篇文章主要介紹了mybatis xml中特殊字符處理及mybatis特殊符號處理技巧,mybatis特殊符號處理給大家介紹了兩種寫法,感興趣的朋友一起看看吧
    2018-03-03
  • java微信小程序步數(shù)encryptedData和開放數(shù)據(jù)解密的實現(xiàn)

    java微信小程序步數(shù)encryptedData和開放數(shù)據(jù)解密的實現(xiàn)

    這篇文章主要介紹了java微信小程序步數(shù)encryptedData和開放數(shù)據(jù)解密的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • java開發(fā)flyway的方法

    java開發(fā)flyway的方法

    這篇文章主要介紹了java開發(fā)flyway的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • SpringBoot集成SpringSecurity和JWT做登陸鑒權(quán)的實現(xiàn)

    SpringBoot集成SpringSecurity和JWT做登陸鑒權(quán)的實現(xiàn)

    這篇文章主要介紹了SpringBoot集成SpringSecurity和JWT做登陸鑒權(quán)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • SpringBoot接收前端參數(shù)的幾種常用方式

    SpringBoot接收前端參數(shù)的幾種常用方式

    在Spring Boot開發(fā)中接收參數(shù)是非常常見且重要的一部分,依賴于請求的不同場景,Spring Boot提供了多種方式來處理和接收參數(shù),這篇文章主要給大家介紹了關(guān)于SpringBoot接收前端參數(shù)的幾種常用方式,需要的朋友可以參考下
    2024-07-07

最新評論

元阳县| 云龙县| 胶南市| 东莞市| 平果县| 那坡县| 龙江县| 九江县| 贵德县| 高碑店市| 普格县| 方正县| 定襄县| 井冈山市| 北流市| 资阳市| 灵山县| 青海省| 湘潭县| 如皋市| 山东省| 台州市| 华坪县| 梁山县| 广丰县| 博罗县| 曲阜市| 科技| 吴江市| 青海省| 大荔县| 永平县| 墨江| 蓝山县| 海安县| 平阴县| 佛冈县| 信宜市| 宁武县| 普兰店市| 桓台县|