Java中,封裝是指將類中的數(shù)據(jù)和方法進(jìn)行權(quán)限控制,達(dá)到安全性和靈活性的一種機(jī)制。
public class Student { private String name; private int age; public String getName() { return name; } public void setName(String newName) { name = newName; } public int getAge() { return age; } public void setAge(int newAge) { age = newAge; } }
在上面的代碼中,定義了一個(gè)學(xué)生類,其中name和age屬性被聲明為private,即只能在類內(nèi)部進(jìn)行訪問,外部無法直接訪問。同時(shí),getName()和getAge()方法被聲明為public,為外部提供了訪問屬性的接口,setNmae()和setAge()方法被定義為public,為外部提供了修改屬性的接口。這樣,外部可以通過調(diào)用public方法來獲取或修改對(duì)象的屬性值,但無法直接訪問它們。
通過封裝,可以保護(hù)對(duì)象的數(shù)據(jù),避免外部隨意修改,提高了安全性。同時(shí),對(duì)象的屬性和方法的具體實(shí)現(xiàn)方式被隱藏起來,為類的設(shè)計(jì)者提供了更大的靈活性,可以在不影響外部調(diào)用的前提下,自由地修改類的實(shí)現(xiàn)。