java封裝及四種權(quán)限修飾符詳解
1、對屬性進(jìn)行封裝,使用戶不能直接輸入數(shù)據(jù),我們需要避免用戶再使用"對象.屬性"的方式對屬性進(jìn)行賦值。則需要將屬性聲明為私有的(private).
2、我們將類的屬性私有化(private),同時(shí),提供公共的(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; //名字
// 同時(shí),我們給這兩個(gè)屬性創(chuàng)建兩個(gè)可以更改他們的接口
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();
//?? ??? ?這個(gè)時(shí)候就不能直接給類中屬性直接賦值了,就會報(bào)錯(cuò)
//?? ??? ?sc.age=18;
//?? ??? ?sc.name="小芳"
//?? ??? ?我們需要通過set方法給屬性賦值,get取值
?? ??? ?sc.setAge(18);
?? ??? ?sc.setName("小芳");
?? ??? ?sc.disPlay();
?? ?}
}
一下代碼查看運(yùn)行結(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)文章
java利用phantomjs進(jìn)行截圖實(shí)例教程
PlantomJs是一個(gè)基于javascript的webkit內(nèi)核無頭瀏覽器 也就是沒有顯示界面的瀏覽器,你可以在基于 webkit 瀏覽器做的事情,它都能做到。下面這篇文章主要給大家介紹了關(guān)于java利用phantomjs進(jìn)行截圖的相關(guān)資料,需要的朋友可以參考下2018-10-10
從零搭建Spring Boot腳手架整合OSS作為文件服務(wù)器的詳細(xì)教程
這篇文章主要介紹了從零搭建Spring Boot腳手架整合OSS作為文件服務(wù)器的詳細(xì)教程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08
十大常見Java String問題_動力節(jié)點(diǎn)Java學(xué)院整理
本文介紹Java中關(guān)于String最常見的10個(gè)問題,需要的朋友參考下吧2017-04-04
spring boot動態(tài)切換數(shù)據(jù)源的實(shí)現(xiàn)
這篇文章主要介紹了spring boot動態(tài)切換數(shù)據(jù)源的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
SpringBoot訪問MongoDB數(shù)據(jù)庫的兩種方式
MongoDB是一種非關(guān)系型數(shù)據(jù)庫,通過文檔存儲數(shù)據(jù),適用于大規(guī)模數(shù)據(jù)存儲和高并發(fā)訪問,這篇文章主要介紹了SpringBoot訪問MongoDB數(shù)據(jù)庫的兩種方式,感興趣想要詳細(xì)了解可以參考下文2023-05-05
Spring?Boot獲取resources目錄下的文件三種方式詳解
在Spring?Boot項(xiàng)目中,經(jīng)常需要獲取resources目錄下的文件,這些文件可以包括配置文件、模板文件、靜態(tài)資源等,這篇文章主要介紹了Spring?Boot獲取resources目錄下的文件的三種方式,需要的朋友可以參考下2023-06-06
mybatisPlus填坑之邏輯刪除的實(shí)現(xiàn)
本文主要介紹了mybatisPlus填坑之邏輯刪除的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
Eclipse 出現(xiàn)Failed to load JavaHL Library解決方法
這篇文章主要介紹了Eclipse 出現(xiàn)Failed to load JavaHL Library解決方法的相關(guān)資料,今天使用Eclipse 時(shí)出現(xiàn)以上錯(cuò)誤,本文說明如何更更正,需要的朋友可以參考下2016-11-11

