本篇文章帶給大家的內容是關於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中文網其他相關文章!