首頁(yè)技術(shù)文章正文

為什么需要對(duì)類進(jìn)行封裝?

更新時(shí)間:2021-06-24 來(lái)源:黑馬程序員 瀏覽量:

1577370495235_學(xué)IT就到黑馬程序員.gif

在正式講解如何實(shí)現(xiàn)類的封裝之前,先通過(guò)一個(gè)程序來(lái)了解一下為什么需要對(duì)類進(jìn)行封裝,如文件1所示。

文件1 Example03.java

     class Person{
         String name;
          int age;
         public void speak(){
             System.out.println("我叫"+name+",今年"+age+"歲了");
         }
     }
     public class Example03 {
         public static void main(String[] args) {
             Person p = new Person();
             p.name = "張三";
             p.age = -18;
             p.speak();
         }
     }
運(yùn)行結(jié)果如圖1所示。

類的封裝

圖1 運(yùn)行結(jié)果

在文件1的第12行代碼中,將年齡賦值為一個(gè)負(fù)數(shù)-18,這在語(yǔ)法上不會(huì)有任何問(wèn)題,因此程序可以正常運(yùn)行,但在現(xiàn)實(shí)生活中明顯是不合理的。為了避免出現(xiàn)這種不合理的問(wèn)題,在設(shè)計(jì)一個(gè)Java類時(shí),應(yīng)該對(duì)成員變量的訪問(wèn)作出一些限定,不允許外界隨意訪問(wèn),這就需要實(shí)現(xiàn)類的封裝。






猜你喜歡:

什么是類?類的定義格式和變量

Java類加載機(jī)制詳解【java面試題】

什么是類?在Java中怎樣聲明類的繼承關(guān)系?

黑馬程序員Java高級(jí)軟件工程師培訓(xùn)課程

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!