3、面向?qū)ο蟮姆庋b性
在一個包里可以建多個類怀酷,
面向?qū)ο蟀ㄈ筇卣鳎?/p>
-封裝
-繼承
-多態(tài)
1稻爬、封裝的好處:封裝之后看不到比較復(fù)雜的一面,只能看到該事物簡單的一面
2蜕依、復(fù)雜性封裝桅锄,對外提供簡單的操作入口,封裝之后才會形成真正的對象-獨立體样眠。
3友瘤、封裝意味著程序以后可以重復(fù)使用,并且這個事物適應(yīng)性比較強(qiáng)吹缔,在任何場合都可以使用
4商佑、封裝意味事物本身提高著安全性。
public class UserTest
{
}
1厢塘、如何進(jìn)行封裝
1茶没、建工程再建project,2晚碾、在scr中右鍵建一個包(包的作用是方便管理和劃分類)3抓半、在包里的建一個類
如何在代碼上進(jìn)行封裝
可以更換包的顯示格式:項目區(qū)右上角小三角,下拉后由package presentation格嘁,可選flat并列結(jié)構(gòu)笛求,或者Hierachical樹形結(jié)構(gòu)。
2糕簿、封裝的步驟
public class Student
{
private int number;
private String name;
private Computer diannao;
}
public class OOTest//類名必須大寫的探入,所以使用類名關(guān)鍵字必須首字母大寫,一個類就是一個可用數(shù)據(jù)類型懂诗。
{
public static void main(string[] args)
{
Student xiaoming=new Student()蜂嗽;
System.out.println(xiaoming.age)
}
}
編譯報錯,age不可見殃恒,因為在工程里每一個類的屬性帶上private關(guān)鍵字植旧,則該類中帶有private的屬性其他類不可見辱揭,這保證了每個類作為一個黑盒不可見。
1病附、所有屬性私有化问窃,使用private關(guān)鍵字進(jìn)行修飾,private表示私有完沪,修飾的所有數(shù)據(jù)只能在奔雷中訪問域庇。
2、對外提供簡單的操作入口丽焊,也就是說以后外部程序想訪問類似于age屬性的時候较剃,必須通過這些簡單的入口進(jìn)行訪問。
1技健、所有屬性對外提供兩個公開的方法,分別是set和get方法
--想修改age屬性惰拱,調(diào)用set方法
--想讀取age屬性雌贱,調(diào)用get方法
3、set方法的命名規(guī)范
pubulic void setAge(int a)
{
age=a偿短;
}
4欣孤、get方法的命名規(guī)范:
public in getAge()
{
return age;
}
//可以在創(chuàng)建完類之后點右鍵昔逗,選source再選generate Getters and Setters降传,自動生成set和get方法
回想一下,一個屬性通常訪問的時候包括幾種訪問形式勾怒?
第一種方式婆排;想讀取這個屬性的值,讀取get
第二種方式笔链;想修改這個屬性的值段只,修改set
請大家先背會以下內(nèi)容
setter and getter方法沒有static關(guān)鍵字
有static關(guān)鍵字的方法怎么調(diào)用:類名.方法名(實參)
沒有static關(guān)鍵字修飾的方法怎么調(diào)用:引用.方法名(實參)
例子:
public class User()
{
private int age;
pubulic void setAge(int a)
{
if(a<0||a>150)
{
System.out,println("您提供的年齡不合法")鉴扫;
return赞枕;
}
age=a;
}
public int getAge()
{
return age;
}
public int setAge(int a)
{
age=a;
}
}