首頁  >  文章  >  Java  >  Java物件是什麼? Java物件的介紹(程式碼範例)

Java物件是什麼? Java物件的介紹(程式碼範例)

不言
不言轉載
2018-10-11 15:33:222925瀏覽

本篇文章帶給大家的內容是關於Java物件是什麼? Java物件的介紹,有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

範例:

public class Book {

    /**
     * 书名
     */
    private String name;
    /**
     * 作者
     */
    private String author;

    /**
     * 获取书名
     * @return
     */
    public String getName() {
        return name;
    }

    /**
     * 设置书名
     * @param name
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取作者
     * @return
     */
    public String getAuthor() {
        return author;
    }

    /**
     * 设置作者
     * @param author
     */
    public void setAuthor(String author) {
        this.author = author;
    }

}

什麼是物件

《JAVA程式設計思想》對於物件的定義是:將問題空間中的元素以及它們在方案空間的表示物稱為「物件」。
1. 問題空間:實際解決的問題模型;
2. 方案空間: 電腦(機器模型)。
實際的問題在電腦(機器模型)中的表示稱為物件。在上面範例中:電腦用獨一無二的實體(new Book())表示書籍,這個實體就稱為對象,而物件是類別的實例。

什麼是類別

具有相同屬性和行為的物件的抽象就是類,即類別是物件的藍圖,兩者的關係是類別的實例就是對象,物件的抽象化就是類別。在上面範例中:Book就是類別。

物件的特性

 1. 行為:類別的方法,範例中的方法:getName(),setName(String name),getAuthor(),setAuthor( String author) 。
 2. 狀態:類別的屬性,範例中的屬性:name,author,
 3. 識別:類別在記憶體中的位址,new Book()在記憶體中的位址就是標識。

物件導向的特徵

1、封裝:隱藏物件的屬性,但對使用者提供方法與這些屬性交互,重點是使用者只能透過方法存取物件的屬性,實作封裝需要有一個私有的屬性:name,一個屬性存取方法:getName(),一個屬性變更方法:setName(String name)。

2、繼承:透過繼承已存在的類別可以重複使用這個類別的屬性和方法,被繼承的類別稱為父類,繼承的類別稱為子類,子類別可以建立自己特定功能的程式碼,父類別一般保存的是通用的方法及屬性。繼承透過extends關鍵字實現。

繼承範例:

// 备注:class可以定义多个类,但只有一个public类,而且public修饰的类名称要和文件名称一致。
public class BookTest{
    public static void main(String[] args) {
        System.out.println(new HistoryBook().getName());
    }
}
class HistoryBook extends Book{
    /**
     * 发生日期
     */
    private LocalDate happenDate;
    protected LocalDate getHappenDate() {
        return happenDate;
    }
    public void setHappenDate(LocalDate happenDate) {
        this.happenDate = happenDate;
    }
}

上面HistoryBook是Book的子類,在main方法裡可以直接透過HistoryBook物件取得書名,這個是HistoryBook類別中沒有的屬性,但是因為有繼承,它可以呼叫父類別所有的public,protected,default修飾的方法。

3、多態:一個變數參考可以指向多個實際類型的現象稱為多態。多態的形成建立在繼承(extends)/實作(implements)上,重要的一點是父類別引用指向子類別變量,但不能把父類別引用賦值給子類別變數。

多態範例:

        // 父类引用指向子类,形成多态
        Book book = new HistoryBook();
        // 报错,原因:不能把父类引用赋值给子类,因为不能确定父类的具体类型,父类可能是A extends Book,也可能是B extends Book,不能把A或B强制转成HistoryBook,因为它们两之间是没有任何联系的。
        HistoryBook historyBook = (HistoryBook) new Book();
        // 这里是正常运行的,因为book其实指向的是一个HistoryBook的对象,这里是可以强制转换的。
        HistoryBook hb = (HistoryBook) book;

以上是Java物件是什麼? Java物件的介紹(程式碼範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:cnblogs.com。如有侵權,請聯絡admin@php.cn刪除