java封裝及四種權限修飾符詳解
1、對屬性進行封裝,使用戶不能直接輸入數據,我們需要避免用戶再使用"對象.屬性"的方式對屬性進行賦值。則需要將屬性聲明為私有的(private).
2、我們將類的屬性私有化(private),同時,提供公共的(public)方法來獲取(getXxx)和設置(setXxx)此屬性的值
封裝性的體現,需要權限修飾符來配合
1.Java規定的4種權限(從小到大排列):private、缺省、protected 、public
2.這4種權限可以用來修飾類及類的內部結構:屬性、方法、構造器、內部類
3.具體的,4種權限都可以用來修飾類的內部結構:屬性、方法、構造器、內部類
修飾類的話,隻能使用:缺省、public
例:
package KindMethod3; public class privateTest { // 用private修飾,定義為私有變量,外不不能隨意更改 private int age; //年齡 private String name; //名字 // 同時,我們給這兩個屬性創建兩個可以更改他們的接口 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(); } }
一下代碼查看運行結果:
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類之後,私有的結構就不可以調用瞭 // order.text1 = 3;//The field Order.text1 is not visible order.methodDefault(); order.methodPublic(); //出瞭Order類之後,私有的結構就不可以調用瞭 // order.methodPrivate();//The method methodPrivate() from the type Order is not visible } }
到此這篇關於java封裝及四種權限修飾符詳解的文章就介紹到這瞭,更多相關java封裝 內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!