一篇文章帶你深入了解Java封裝
如何實現(xiàn)封裝
可以分為兩步:
第一步:將類的變量聲明為private。
第二步:提供公共set和get方法來修改和獲取變量的值。
代碼展示
public class User { private String name; private int age; private int id; private String address; public int getAge(){ return age; } public String getName(){ return name; } public int getId(){ return id; } public String getAddress(){ return address; } public void setName(String Newname){ name = Newname; } public void setAge(int Newage){ age = Newage; } public void setAddress(String Newaddress){ address= Newaddress; } } class Mainclass{ public static void main(String[] args) { User user = new User(); user.setAge(18); user.setName("Kevin"); user.setAddress("江蘇"); System.out.println("Name:"+user.getName()+",Age:"+user.getAge()); } }
上面就是一個寫好的封裝啦 但是有很多用戶,很多屬性,寫起來就很麻煩,下面提供一種一行代碼搞定的方法
構(gòu)造方法
public User{ // 方法名與類名同名 沒有返回值結(jié)構(gòu) 其他與普通方法無異 }
注意點:
對于每個類而言,都默認具有一個隱式的空參數(shù)構(gòu)造方法 如果顯式寫了任意一個構(gòu)造方法,空參數(shù)構(gòu)造方法都會被覆蓋
代碼展示
public class User { private String name; private int age; private int id; private String address; public User(String name, int age, int id, String address) { this.name = name; this.age = age; this.id = id; this.address = address; } public int getAge(){ return age; } public String getName(){ return name; } public int getId(){ return id; } public String getAddress(){ return address; } public void setName(String Newname){ name = Newname; } public void setAge(int Newage){ age = Newage; } public void setAddress(String Newaddress){ address= Newaddress; } public void setId(int Newid){ id = Newid;} } class Mainclass{ public static void main(String[] args) { User user = new User("kevin",18,001,"江蘇");//一行代碼就能賦值啦 System.out.println("Name:"+user.getName()+",Age:"+user.getAge()); } }
總結(jié)
封裝的優(yōu)點
- 良好的封裝能夠減少耦合。
- 類內(nèi)部的結(jié)構(gòu)可以自由修改。
- 可以對成員變量進行更精確的控制。
- 隱藏信息,實現(xiàn)細節(jié)。
本篇文章就到這里了,希望能給你帶來幫助,也希望您關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
CountDownLatch源碼解析之a(chǎn)wait()
這篇文章主要為大家詳細解析了CountDownLatch源碼之a(chǎn)wait方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-04-04Springboot+Shiro+Mybatis+mysql實現(xiàn)權(quán)限安全認證的示例代碼
Shiro是Apache?的一個強大且易用的Java安全框架,執(zhí)行身份驗證、授權(quán)、密碼學(xué)和會話管理,Shiro?主要分為兩個部分就是認證和授權(quán)兩部分,這篇文章主要介紹了Springboot+Shiro+Mybatis+mysql實現(xiàn)權(quán)限安全認證的示例代碼,需要的朋友可以參考下2024-07-07解決IDEA上循環(huán)依賴報錯問題Error:java: Annotation processing&n
這篇文章主要介紹了解決IDEA上循環(huán)依賴報錯問題Error:java: Annotation processing is not supported for module cycles,具有很好的參考價值,希望對大家有所幫助2023-10-10Spring?boot?運用策略模式實現(xiàn)避免多次使用if的操作代碼
這篇文章主要介紹了Spring?boot?運用策略模式實現(xiàn),避免多次使用if,使用策略模式后,新加一種支付策略時,只需要在策略枚舉中添加新加的策略信息,外加一個策略類即可,而不再需要添加新的if判斷,需要的朋友可以參考下2022-08-08解決MyBatis報錯:There is no getter for
這篇文章主要介紹了解決MyBatis報錯:There is no getter for property named'Xxx'in'class xxx.xxx.Xxx'問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08