JAVA入门级教学之(封装)
生活随笔
收集整理的這篇文章主要介紹了
JAVA入门级教学之(封装)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?先定義一個用戶類
package com.lbj.javase; /** 用戶類* */ public class User {//年齡public int age; }?
?
再定義一個測試類,來感受一下什么是封裝,到底為什么要封裝??
package com.lbj.javase; /*** 用戶測試類* @author 14811* 對于當前程序來說:User類中的age屬性在外部程序中可以隨意訪問,導致age屬性的不安全* 以下程序中年齡值為負數,程序運行時沒有報錯,這是當前程序存在的缺陷* * 當前主講封裝機制。為什么要封裝?封裝有何好處?* * 1.封裝后,對于指定事物來說,看不到事物比較復雜的一面,只能看到事物簡單的一面* * 2.封裝之后才會形成真正的對象,真正的獨立體* * 3.封裝意味著程序可以重復使用,在任何場景都可以使用* * 4.封裝只提供簡單的操作入口,提高了安全性* * */ public class UserTest {public static void main(String[] args) {// TODO Auto-generated method stub//創建User對象User user=new User();//訪問age//讀取年齡值【get】System.out.println("用戶年齡:"+user.age);//修改年齡值//這里的age屬性完全暴露給外部程序,對于程序員來說可以操作User對象中的所有細節【數據不安全】//不建議這樣,建議User類型進行封裝,建議在外部程序中不能隨意訪問User對象中的屬性,這樣可以保證屬性的安全user.age=10;//訪問age//讀取年齡值【get】System.out.println("用戶年齡:"+user.age);user.age=-10;System.out.println("用戶年齡:"+user.age);}}再重新創建一個包,包里面新建一個用戶類
?
package com.lbj.javase02; /*** * @author 14811*封裝步驟:* 1.所有屬性私有化,使用private關鍵字進行修飾,private表示私有的,修飾的所有數據只能在本類中訪問。* * 2.對外提供簡單的操作入口,也就是說以后外部程序想要訪問age屬性,必須通過這些簡單的入口進行訪問* -對外提供兩個公開的方法,分別是set方法和get方法* -想修改age屬性,調用set方法* -想讀取age屬性,調用get方法** 3.set方法的命名規范:* public void setAge(int a){//set+首字母大寫* age=a;* { * * 4.get方法的命名規范:* public int getAge(){//get+首字母大寫* return age* { * 5.setter and getter 方法沒有static關鍵字* 有static關鍵字修飾的方法怎么調用:類名.方法名(實參);* 沒有static關鍵字修飾的方法怎么調用:引用.方法名(實參);***/ public class User {//私有化定義的年齡age,外類不允許訪問private int age;//set方法沒有返回值,因為set方法只負責修改數據/*public void setAge(int age){age=age;//java有就近原則,這里其實并沒有給age屬性賦值,因為這里的age都是局部變量}//報錯//接下來遲一點會介紹this關鍵字的用法,就會明白這里的道理了*///setterpublic void setAge(int a){//編寫業務邏輯代碼進行安全控制//age=a;//如果說傳過來的年齡不符合實際要求就不可以傳進來并提示錯誤信息實現安全控制if(a<0||a>150){System.out.println("對不起,您提供的年齡不合法");return;}//如果程序執行到這里的話,說明a年齡是合法的,則進行賦值運算age=a;}//getterpublic int getAge(){return age;}}?
新建一個測試類,這就是封裝:
package com.lbj.javase02;public class UserTest {public static void main(String[] args) {// TODO Auto-generated method stub//創建User對象User user=new User();//編譯報錯,age屬性私有化private,在外部程序中不能直接訪問//從此之后age屬性非常安全,但是有點太安全了,對于外部的私有類徹底訪問不到//System.out.println(user.age);user.setAge(10);System.out.println(user.getAge());//私有屬性不能在外部直接訪問,因此需要封裝訪問//user.age;}}?
?
?
?
?
?
總結
以上是生活随笔為你收集整理的JAVA入门级教学之(封装)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于HTML的盒子的一些小问题
- 下一篇: word 编辑域中的汉字_15条Word