面向對象的思想
面向對象:爲了讓代碼更加簡潔,並且提高開發效率和維護性。讓代碼高複用,而引入的一種思想。
面向對象思想在代碼中的應用
類(class):對一個事物的形容,一張圖紙,抽象的。
實例(instance):由類生成的一個對象,類的實體。
//小例子:描述心目中的女神,黑色長髮,年齡18,性格溫柔呆萌,身高155,體重90,唱歌好聽,遊戲不坑
女朋友的類:
/**
* 圖紙,描述
* 描述心目中的女神,黑色長髮,年齡18,性格溫柔呆萌,
* 身高155,體重90,唱歌好聽,遊戲不坑
*
*/
public class GirlFriend {
//屬性
String FaXing="黑長直";
int age=18;
String XingGe="溫柔呆萌";
int high=155;
int weight=90;
//行爲
void playGame(){
System.out.println("有點坑");
}
void sing(){
System.out.println("唱歌好聽");
}
void saySelf(){
System.out.println("頭髮:"+FaXing+"年齡"+age+"性格"+XingGe+"身高"+high+"體重"+weight);
}
}
類的實例化:關鍵字 new實例化的關鍵字
—》main方法進行實例,也就是在程序裏面進行的實例化
public class DemoForGF {
/**
* 存在主方法,爲一個程序
*/
public static void main(String[]args) {
//把一個圖紙生成實體 class new出來-->對象
GirlFriend xiaomei=new GirlFriend();
// xiaomei.sing();
// xiaomei.playGame();
// //小練習,給你們的女神加上一個自我介紹的方法,
// //把她自己的屬性都介紹出來
// xiaomei.saySelf();
//
GirlFriend lily=new GirlFriend();
lily.FaXing="金色捲髮";
lily.high=180;
lily.weight=120;
lily.saySelf();
xiaomei.saySelf();
}
}
注意點:(類class)與(對象實例new出來的部分)的關係
1. 對象是類的實例 類的實例化是對象
2. 類必須通過對象纔可以使用,那麼對象的所有操作都在類中定義。
面向對象思想的三大屬性
1. 封裝性
(屬性private私有化,提供pulibc的方法對屬性進行修改以及訪問)
對於一個java程序員,要求對所有屬性都進行封裝。
訪問權限修飾符:可以修飾方法,可以修飾屬性
變量根據作用域劃分:
成員變量(類屬性):class內,方法外
局部變量:方法裏面定義的變量,或者方法的參數,代碼塊裏面的變量
成員變量聲明可以不要初始值,但是局部變量聲明必須填寫初始值。
public class Student {
//整形的默認值 0
//小數的默認值0.0
//布爾型的默認值false
//char的默認值0
//String的默認值 null
private String name;//成員變量
private int age;
private int id;
private char c;
public void setName(Stringname){
int shu=30;//局部變量
System.out.println(shu);//不寫初始值,使用的時候就報錯
}
}
在方法裏面使用成員變量,如果 成員變量名字 和 局部變量的名字一致
會優先使用局部變量(就近原則)
如果想要使用成員變量,this.變量名
(this代表當前類,this.變量名代表當前的類屬性)