java encapsulation是什么,讓我們一起了解一下?
encapsulation在Java中是將數據(變量)和作用于數據(方法)的代碼作為一個單元包裝在一起的機制,在封裝(encapsulation)中,類的變量將從其他類隱藏,并且只能通過其當前類的方法訪問。
使用encapsulation的好處有哪些?
1、良好的封裝能夠減少耦合。
2、類內部的結構可以自由修改。
3、可以對成員變量進行更精確的控制。
4、隱藏信息,實現細節。
那在java中encapsulation是如何使用的?
通過實際案例進行分析:
public?class?Student?{ ????//屬性: ????private?int?age; ????private?String?name; ????private?String?sex; ????//加入對應的setter和getter方法: ????public?int?getAge()?{ ????????return?age; ????} ????public?void?setAge(int?age)?{ ????????this.age?=?age; ????} ????public?String?getName()?{ ????????return?name; ????} ????public?void?setName(String?name)?{ ????????this.name?=?name; ????} ????public?String?getSex()?{ ????????return?sex; ????} ????public?void?setSex(String?sex)?{ ????????if("男".equals(sex)?||?"女".equals(sex)?){//sex是男?或者?是?女 ????????????this.sex?=?sex; ????????}else{ ????????????this.sex?=?"男"; ????????} ????} ????//加入構造器: ????public?Student(){ ????} ????public?Student(int?age,String?name,String?sex){ ????????this.age?=?age; ????????this.name?=?name; ????????//this.sex?=?sex; ????????this.setSex(sex); ????} }
public?class?Test?{ ????//這是一個main方法,是程序的入口: ????public?static?void?main(String[]?args)?{ ????????//創建一個Student對象: ????????Student?s1?=?new?Student(); ????????s1.setName("nana"); ????????s1.setAge(19); ????????s1.setSex("女"); ????????System.out.println(s1.getName()+"---"+s1.getAge()+"----"+s1.getSex()); ????????Student?s2?=?new?Student(18,"菲菲","asdfasdfsadf"); ????????System.out.println(s2.getName()+"---"+s2.getAge()+"----"+s2.getSex()); ????} }
以上就是小編今天的分享了,希望可以幫助到大家。