java封裝及四種權(quán)限修飾符詳解
1、對屬性進行封裝,使用戶不能直接輸入數(shù)據(jù),我們需要避免用戶再使用"對象.屬性"的方式對屬性進行賦值。則需要將屬性聲明為私有的(private).
2、我們將類的屬性私有化(private),同時,提供公共的(public)方法來獲取(getXxx)和設(shè)置(setXxx)此屬性的值
封裝性的體現(xiàn),需要權(quán)限修飾符來配合
1.Java規(guī)定的4種權(quán)限(從小到大排列):private、缺省、protected 、public
2.這4種權(quán)限可以用來修飾類及類的內(nèi)部結(jié)構(gòu):屬性、方法、構(gòu)造器、內(nèi)部類
3.具體的,4種權(quán)限都可以用來修飾類的內(nèi)部結(jié)構(gòu):屬性、方法、構(gòu)造器、內(nèi)部類
修飾類的話,只能使用:缺省、public
例:
package KindMethod3; public class privateTest { // 用private修飾,定義為私有變量,外不不能隨意更改 private int age; //年齡 private String name; //名字 // 同時,我們給這兩個屬性創(chuàng)建兩個可以更改他們的接口 public void setAge(int age){ this.age=age; } public int getAge(){ return age; } public void setName(String name){ this.name=name; } public String getName(){ return name; } public void disPlay(){ System.out.println("我的名字叫"+name+"今年"+age+"歲"); } }
package KindMethod3; public class privateTest1 { ?? ?public static void main(String[] args) { ?? ??? ?privateTest sc = new privateTest(); //?? ??? ?這個時候就不能直接給類中屬性直接賦值了,就會報錯 //?? ??? ?sc.age=18; //?? ??? ?sc.name="小芳" //?? ??? ?我們需要通過set方法給屬性賦值,get取值 ?? ??? ?sc.setAge(18); ?? ??? ?sc.setName("小芳"); ?? ??? ?sc.disPlay(); ?? ?} }
一下代碼查看運行結(jié)果:
public class Order { private int text1; int text2; public int text3; private void methodPrivate(){ text1 = 1; text2 = 2; text3 = 3; } void methodDefault(){ text1 = 1; text2 = 2; text3 = 3; } public void methodPublic(){ text1 = 1; text2 = 2; text3 = 3; } }
public class OrderTest { public static void main(String[] args) { Order order = new Order(); order.text2 = 1; order.text3 = 2; //出了Order類之后,私有的結(jié)構(gòu)就不可以調(diào)用了 // order.text1 = 3;//The field Order.text1 is not visible order.methodDefault(); order.methodPublic(); //出了Order類之后,私有的結(jié)構(gòu)就不可以調(diào)用了 // order.methodPrivate();//The method methodPrivate() from the type Order is not visible } }
到此這篇關(guān)于java封裝及四種權(quán)限修飾符詳解的文章就介紹到這了,更多相關(guān)java封裝 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
從零搭建Spring Boot腳手架整合OSS作為文件服務(wù)器的詳細(xì)教程
這篇文章主要介紹了從零搭建Spring Boot腳手架整合OSS作為文件服務(wù)器的詳細(xì)教程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08十大常見Java String問題_動力節(jié)點Java學(xué)院整理
本文介紹Java中關(guān)于String最常見的10個問題,需要的朋友參考下吧2017-04-04spring boot動態(tài)切換數(shù)據(jù)源的實現(xiàn)
這篇文章主要介紹了spring boot動態(tài)切換數(shù)據(jù)源的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01SpringBoot訪問MongoDB數(shù)據(jù)庫的兩種方式
MongoDB是一種非關(guān)系型數(shù)據(jù)庫,通過文檔存儲數(shù)據(jù),適用于大規(guī)模數(shù)據(jù)存儲和高并發(fā)訪問,這篇文章主要介紹了SpringBoot訪問MongoDB數(shù)據(jù)庫的兩種方式,感興趣想要詳細(xì)了解可以參考下文2023-05-05Spring?Boot獲取resources目錄下的文件三種方式詳解
在Spring?Boot項目中,經(jīng)常需要獲取resources目錄下的文件,這些文件可以包括配置文件、模板文件、靜態(tài)資源等,這篇文章主要介紹了Spring?Boot獲取resources目錄下的文件的三種方式,需要的朋友可以參考下2023-06-06Eclipse 出現(xiàn)Failed to load JavaHL Library解決方法
這篇文章主要介紹了Eclipse 出現(xiàn)Failed to load JavaHL Library解決方法的相關(guān)資料,今天使用Eclipse 時出現(xiàn)以上錯誤,本文說明如何更更正,需要的朋友可以參考下2016-11-11