javase part4 - 面向?qū)ο?/h2>
Object is everything.
一個簡單的類的UML表示.png
面向?qū)ο髱状蟾拍?(封裝,繼承,多態(tài)) (類,對象,屬性,方法)

封裝
繼承
多態(tài)

class className{
  [class body]
}
/**
 * 實(shí)體類 Book
 *
 * @author Panda
 */
public class Book {
    //定義屬性
    private Integer bookId;
    private String bookName;
    private String bookAuthor;
    private Integer bookPrice;

    //定義方法,方法是類的行為,當(dāng)前這個方法的行為就是將類中的屬性打印到屏幕
    @Override
    public String toString() {
        return "Book{" +
                "bookId=" + bookId +
                ", bookName='" + bookName + '\'' +
                ", bookAuthor='" + bookAuthor + '\'' +
                ", bookPrice=" + bookPrice +
                '}';
    }
}
  • 類是創(chuàng)建同類型對象的藍(lán)圖或者模板
  • 類是使程序員可以創(chuàng)建問題抽象的一個oop工具
  • 因此,類決定對象
  • 類是Java程序最基本的構(gòu)建塊,Java中的所有程序必須屬于類
  • 使用new關(guān)鍵字來創(chuàng)建一個類的實(shí)例

對象

  • 用oop語言開發(fā)應(yīng)用程序時(shí),可以創(chuàng)建一個和真實(shí)情況類似的模型來解決問題,這個模型就是對象

屬性

  • 屬性就是變量,可以是基本類型也可以是引用類型
  • 屬性用來決定相同模板生產(chǎn)的對象的不同之處
  • 屬性是對象的特征

方法

returnType methodName(listOfArguments){
  [method body]
}
  • 方法定義了類的對象可以做的動作(方法是對象的行為)
其余部分

構(gòu)造器

constructorName(listOfArguements){
  [constructorBody]
}
  • 每個類必須有一個構(gòu)造器,否則無法從這個類創(chuàng)建對象
  • 如果沒有自定義構(gòu)造器,編譯器會默認(rèn)添加一個無參的構(gòu)造器(自定義了構(gòu)造器就把默認(rèn)的給干掉了)
  • 構(gòu)造器可以沒有參數(shù)
  • 構(gòu)造器參數(shù)可以用來初始化變量中的屬性

默認(rèn)值

  • 類的屬性不賦值會有默認(rèn)值,同樣的還有數(shù)組
  • 默認(rèn)值:整型為0,浮點(diǎn)為0.0,布爾為false,String 為null

實(shí)例變量和局部變量

  • 如果局部變量和實(shí)例變量重名,方法使用變量會依據(jù)就近原則

this關(guān)鍵字

  • 可以使用關(guān)鍵字 this 從任何方法或者構(gòu)造器引用當(dāng)前的對象
  • 例如:如果有一個實(shí)例變量和局部變量重名,可以使用this關(guān)鍵字引用前者
  • this 關(guān)鍵字常見于 接受初始化屬性的值的構(gòu)造器中.

 /**
 * JavaBean
 * @author Panda
 */
public class Box {
    int length;
    int width;
    int height;

    /**
     * 構(gòu)造方法
     * @param length        參數(shù)
     * @param width         參數(shù)
     * @param height        參數(shù)
     */
    public Box(int length, int width, int height) {
        //使用this.length 表示引用的是類的實(shí)例變量
        //參數(shù)length和表達(dá)式右側(cè)的length是同一變量
        this.length = length;
        this.width = width;
        this.height = height;
    }
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容