encapsulation java_Java - 封装(Encapsulation)
Java - 封裝(Encapsulation)
Encapsulation是四個(gè)基本OOP概念之一。 其他三個(gè)是繼承,多態(tài)和抽象。
Java中的封裝是將數(shù)據(jù)(變量)和作用于數(shù)據(jù)(方法)的代碼作為一個(gè)單元包裝在一起的機(jī)制。 在封裝中,類(lèi)的變量將從其他類(lèi)隱藏,并且只能通過(guò)其當(dāng)前類(lèi)的方法訪問(wèn)。 因此,它也被稱(chēng)為data hiding 。
在Java中實(shí)現(xiàn)封裝 -將類(lèi)的變量聲明為private。
提供公共setter和getter方法來(lái)修改和查看變量值。
例子 (Example)
以下是演示如何在Java中實(shí)現(xiàn)Encapsulation的示例 -/* File name : EncapTest.java */
public class EncapTest {
private String name;
private String idNum;
private int age;
public int getAge() {
return age;
}
public String getName() {
return name;
}
public String getIdNum() {
return idNum;
}
public void setAge( int newAge) {
age = newAge;
}
public void setName(String newName) {
name = newName;
}
public void setIdNum( String newId) {
idNum = newId;
}
}
public setXXX()和getXXX()方法是EncapTest類(lèi)的實(shí)例變量的訪問(wèn)點(diǎn)。 通常,這些方法稱(chēng)為getter和setter。 因此,任何想要訪問(wèn)變量的類(lèi)都應(yīng)該通過(guò)這些getter和setter訪問(wèn)它們。
可以使用以下程序訪問(wèn)EncapTest類(lèi)的變量 -/* File name : RunEncap.java */
public class RunEncap {
public static void main(String args[]) {
EncapTest encap = new EncapTest();
encap.setName("James");
encap.setAge(20);
encap.setIdNum("12343ms");
System.out.print("Name : " + encap.getName() + " Age : " + encap.getAge());
}
}
這將產(chǎn)生以下結(jié)果 -
輸出 (Output)Name : James Age : 20
封裝的好處類(lèi)的字段可以是只讀的或只寫(xiě)的。
類(lèi)可以完全控制其字段中存儲(chǔ)的內(nèi)容。
Java - 抽象(Abstraction)
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的encapsulation java_Java - 封装(Encapsulation)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: shiro前后端分离_为什么要前后端分离
- 下一篇: java深度克隆大数据_Java - 深