private String sex; //性別 private int age; //年齡 private String job; //工作 //以后只要是設置值的時候 實例化這個類 //比如設置年齡 那么調(diào)用setAge(String age);方法 //傳入年齡值 注意前面是什麼類型 這里為int //TestBean test=new TestBean(); //String name="張三"; //test.setName(name); //設置值后 很復雜的多個屬性 便變成了一個簡單的JavaBean對象 //取值也很簡單 前提是你已經(jīng)設置了多項屬性的值 //比如調(diào)用年齡 getAge()就可以拿到年齡的值 //對應其類型 可以這樣調(diào)用 //TestBean test=new TestBean(); //String name=test.getName(); //使用JavaBean的好處有 實現(xiàn)MVC結構 //封裝多個屬性或對象為一個對象 私有的屬性 而共有的方法 大大提高程序安全性 //。。。等等
成都創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都網(wǎng)站設計、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的博州網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!
JAVA中常用的封裝方式有以下幾種:
1 、Boolean VS boolean
public final class Boolean extends Object??implementsSerializable,Comparable
Boolean 類將基本類型為boolean的值包裝在一個對象中。一個Boolean類型的對象只包含一個類型為boolean的字段。此外,此類還為boolean和String的相互轉換提供了許多方法,并提供了處理 boolean時非常有用的其他一些常量和方法。
2、 Byte VS byte
public final class Byte extends Number implements Comparable
Byte類將基本類型 byte的值包裝在一個對象中。一個Byte類型的對象只包含一個類型為 byte的字段。此外,該類還為 byte和 String的相互轉換提供了幾種方法,并提供了處理 byte時非常有用的其他一些常量和方法。
3、 Character VS char
public final class Character extends Object??implements Serializable, Comparable?Character類在對象中包裝一個基本類型char的值。? ?? ? Character類型的對象包含類型為char的單個字段。此外,該類提供了幾種方法,以確定字符的類別(小寫字母,數(shù)字,等等),并將字符從大寫轉換成小寫,反之亦然。
4 、Double VS double
public final class Double extends Number implements Comparable?Double類在對象中包裝了一個基本類型double的值。每個Double類型的對象都包含一個double類型的字段。此外,該類還提供了多個方法,可以將double轉換為String,將String轉換為double,還提供了其他一些處理double時有用的常量和方法。
實現(xiàn)Java封裝的步驟
1. 修改屬性的可見性來限制對屬性的訪問(一般限制為private),例如:
public class Person {
private String name; private int age;}
這段代碼中,將 name 和 age 屬性設置為私有的,只能本類才能訪問,其他類都訪問不了,如此就對信息進行了隱藏。
2. 對每個值屬性提供對外的公共方法訪問,也就是創(chuàng)建一對賦取值方法,用于對私有屬性的訪問,例如:
public class Person{
private String name; private int age; public int getAge(){
return age; }
public String getName(){
return name; }
public void setAge(int age){
this.age = age; }
public void setName(String name){
this.name = name; }}
采用 this 關鍵字是為了解決實例變量(private String name)和局部變量(setName(String name)中的name變量)之間發(fā)生的同名的沖突。
實例
讓我們來看一個java封裝類的例子:
EncapTest.java 文件代碼:
/* 文件名: 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方法是外部類訪問該類成員變量的入口。
通常情況下,這些方法被稱為getter和setter方法。
因此,任何要訪問類中私有成員變量的類都要通過這些getter和setter方法。
通過如下的例子說明EncapTest類的變量怎樣被訪問:
RunEncap.java 文件代碼:
/* F文件名 : 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()); }}
封裝就是隱藏實現(xiàn)細節(jié)
將屬性私有化
提供公有方法訪問私有屬性。
類是基于面向對象思想編程語言的基礎
程序員可以把具有相同業(yè)務性質的代碼封裝到一個類里
通過接口方法向外部代碼提供服務
同時向外部代碼屏蔽類里服務的具體實現(xiàn)方式。對象是類的實例
類一般是個抽象名詞
比如“人類”
而對象則是具體的物質存在
比如“張三”
這個人。在現(xiàn)實生活中
經(jīng)常會遇到“類”
和“對象”
這些概念
比如封裝了能實現(xiàn)“全自動洗衣機”
功能的洗衣機類。這里
用戶可以使用面板上的按鈕
使用該類里提供的洗衣等服務并且
由于該類實現(xiàn)了封裝
所以在使用的時候
用戶可以不用了解其中的自動洗衣原理以及實現(xiàn)機制。
類是同一種類型的對象的抽象
是某種類型對象的概述和定義
而對象則是某個類的實例化結果或者叫一種類型的實體。在使用面向對象的思想進行軟件開發(fā)的過程中
首先得抽出項目的實體-對象模型
即首先是實體類的定義、封裝。
JAVA類的封裝就是指隱藏對象的屬性和實現(xiàn)細節(jié),僅對外提供公共訪問方式。
主要好處是:
將變化隔離。
便于使用
提高重要性。
提高安全性。
封裝步驟:
1.首先建立一個類,類名取為Person,其中Private的意思是私有的,只可訪問當前類。
2.建立正確的程序,就可以通過Dos 命令去審查和編譯了。當編譯通過即可輸出程序中的資料和答案。
3.以上就是一個關于封裝的例子,注意其中int getAge-是為了獲取私有成員變量。
什么是封裝?
在定義類的時候,如果可以直接修改類中的字段那么就可能會出現(xiàn)以下的情況,age可以設置成1000,score可以設置為10000
所以就引出了封裝的概念,那么什么是封裝呢或者說封裝可以實現(xiàn)那些目的
封裝可以隱藏實現(xiàn)的細節(jié)
讓使用者只能通過實現(xiàn)寫好的訪問方法來訪問這些字段,這樣一來我們只需要在這些方法中增加邏輯控制,限制對數(shù)據(jù)的不合理訪問、
方便數(shù)據(jù)檢查,有利于于保護對象信息的完整性
便于修改,提高代碼的可維護性
為了實現(xiàn)良好的封裝,需要從兩個方面考慮
把字段(成員變量)和實現(xiàn)細節(jié)隱藏起來,不允許外部直接訪問
把方法暴露出來,讓方法控制這些成員變量進行安全的訪問和操作
因此,封裝就有兩個含義:把該隱藏的隱藏起來,把該暴露的暴露出來。