JAVA學習第五天

來源:互聯網
上載者:User

標籤:java學習   現實生活   起名字   找對象   java   

物件導向三種特徵:繼承、封裝、多態。

以後開發過程中就是找對象使用,沒有對象就建立一個對象。(找對象--建立對象--使用對象---維護對象)。

類和對象的關係:

現實生活中的對象:張山,李四

想要描述就是只要提取對象中的共性內容,對具體進行抽象。

描述:比如這些共性有:姓名、年齡、性別、學習java的功能。

類就是對現實生活中實物的描述。

對象:就是這類事物,實實在在存在的個體。

java中類用class來定義,具體的對象是對應java在堆記憶體中用new建立的實體。

***成員變數與局部變數:

    成員變數作用於整個類中,局部變數作用於函數中或者語句中。

   成員變數在堆記憶體中,因為對象的存在才存在記憶體中。

   局部變數在棧記憶體中。

===========================================================================================匿名對象使用方法之一:

1、當對象的方法只需要調用一次時候可以使用匿名(沒有名字)對象來完成這樣寫比較簡化。

如果對一個對象進行多個成員調用,必須給這個對象起名字。

匿名對象使用方式二:

可以將匿名對象作為實際參數進行傳遞。



封裝:

封裝:是指隱藏對象的屬性和實現細節,僅僅對外提供公用訪問方式。

好處:

      將變化隔離、便於使用、提高重用性、提高安全性

封裝的原則:

     將不需要對外提供的內容隱藏起來、把屬性都隱藏,提供公用訪問對其訪問。

封裝private:私人許可權修飾符:用於修飾類中的成員(成員變數、成員函數)

私人只有在本類中有效。

    ***注意:私人僅僅是封裝的一種表現形式。

==========================================================================================

建構函式:

       特點:

       函數名與類名一致;不用定義還回實值型別;不可以寫return語句;

       class test{
    test(){
        System.out.println("person run");
    }
    
}
class test1{
    public static void main(String[] args){
        test t=new test();
        
    }
}


##對象一建立就會調用與之對應的建構函式。建構函式的作用:可以用於給對象進行初始化。

建構函式的小細節:

當一個類中沒有定義建構函式的時候,那麼系統會預設給該類加入一個空參數的建構函式;

建構函式與一般函數在寫法上有不同。

在運行上也有不同。

建構函式在對象一建立就運行給對象初始化

而一般方法是對象調用才執行的,給對象添加對象具備的功能。

一個對象建立建構函式值運行一次

而一般方法可以被該對象調用多次


什麼時候需要定義建構函式呢?

檔分析事物時,該事物存在具備一些特性或者行為,那麼將這些內容定義在建構函式中

===========================================================================================

重載:

 class test{
     private String name;
     private int age;
    test(){
        System.out.println("A: name="+name+",,age="+age);
    }
    test(String n){
        name=n;
        System.out.println("B: name="+name+",,age="+age);
    }

public void setName(string n){

        name=n;

}

public String getName(){

return name}


    test(String n,int a){
        name=n;
        age=a;
        System.out.println("C: name="+name+",,age="+age);
 }}
class test1{
    public static void main(String[] args){
        test t=new test();
        test t1=new test("LISI");

       t1.setName("libushi")

         test t2=new test("lisi",10);
        
    }
}


輸出結果:

A: name=null,,age=0
B: name=LISI,,age=0
C: name=lisi,,age=10

構造代碼塊:作用是給對象進行初始化,對象一建立就運行而且優先於建構函式執行。

與建構函式的區別:

構造代碼塊是給所有對象進行統一初始化。

而建構函式是給對應的對象進行初始化

650) this.width=650;" src="http://s2.51cto.com/wyfs02/M02/89/9E/wKiom1gYUESRvalcAADWAdx_bfo364.png-wh_500x0-wm_3-wmp_4-s_2870647462.png" title="QQ圖片20161101162124.png" alt="wKiom1gYUESRvalcAADWAdx_bfo364.png-wh_50" />

構造代碼塊代碼中定義的是不同對象的共性的初始化內容。

===========================================================================================

this關鍵字使用:

 class test{
     private String name;
     private int age;
    test(){
        System.out.println("A: name="+name+",,age="+age);
    }
    test(String name){
        this.name=name; /*this看上去是用於區分局部變數和成員變數同名的情況*/
        System.out.println("B: name="+name+",,age="+age);

    }
    test(String n,int a){
        name=n;
        age=a;
        System.out.println("C: name="+name+",,age="+age);
 }}
class test1{
    public static void main(String[] args){
        test t=new test();
        test t1=new test("LISI");
        test t2=new test("lisi",10);
        
    }
}
this:    代表本類的對象,到底代表哪個呢?
        this代表 它所在對象所屬 對象的引用:簡單的說哪個對象在調用this所在的函數,this就代表哪個對象。
        this用於建構函式之間互相調用。
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
       


JAVA學習第五天

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.