一篇文章帶你深入瞭解Java封裝
如何實現封裝
可以分為兩步:
第一步:將類的變量聲明為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()); } }
上面就是一個寫好的封裝啦 但是有很多用戶,很多屬性,寫起來就很麻煩,下面提供一種一行代碼搞定的方法
構造方法
public User{ // 方法名與類名同名 沒有返回值結構 其他與普通方法無異 }
註意點:
對於每個類而言,都默認具有一個隱式的空參數構造方法 如果顯式寫瞭任意一個構造方法,空參數構造方法都會被覆蓋
代碼展示
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()); } }
總結
封裝的優點
- 良好的封裝能夠減少耦合。
- 類內部的結構可以自由修改。
- 可以對成員變量進行更精確的控制。
- 隱藏信息,實現細節。
本篇文章就到這裡瞭,希望能給你帶來幫助,也希望您關註WalkonNet的更多內容!