首頁 > Java > java教程 > 主體

java封裝及權限修飾符應用實例分析

WBOY
發布: 2023-04-29 18:28:15
轉載
1388 人瀏覽過

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();
    }

}
登入後複製

java封裝及權限修飾符應用實例分析

 一下程式碼查看運行結果:

 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封裝及權限修飾符應用實例分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:yisu.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板