Java是一種物件導向的程式設計語言(Object Oriented Programming:OOP),物件導向的程式設計語言中有類別和物件的概念,那麼它們在概念上到底有什麼差別呢?下面就跟我一起了解一下吧。
下面解釋下java語言中什麼是類,什麼是物件?
類別就是具備某些共同特徵的實體的集合,它是一種抽象的資料類型,它是對所具有相同特徵實體的抽象化。在物件導向的程式設計語言中,類別是對一類「事物」的屬性與行為的抽象化。
對象就是一個真實世界中的實體,對象與實體是一一對應關係的,意思是現實世界的每一個實體都是一個對象,所以對象就是一個具體的概念。
類別是物件的集合,物件是類別的實例;物件是透過new className產生的,用來呼叫類別的方法;類別的建構方法 .。
類別和物件的區別
1,類別是一個抽象的概念,它不存在於現實中的時間/空間裡,類別只是為所有的物件定義了抽象的屬性與行為。就好像「Person(人)」這個類,雖然它可以包含很多個體,但它本身不存在於現實世界。
2,物件是類別的一個具體。它是一個實實在存在的東西。
3,類別是一個靜態的概念,類別本身不攜帶任何資料。當沒有為類別建立任何物件時,類別本身不存在於記憶體空間中。
4,物件是一個動態的概念。每一個物件都存在著有別於其它物件的屬於自己的獨特的屬性和行為。物件的屬性可以隨著它自己的行為而改變。
舉一個例子說明下類
例如Person(人)就是一個類,那麼具體的某個人「張三」就是「人類」這個類的對象,而「姓名、身高、體重」等資訊就是對象的屬性,人的動作如「吃飯、穿衣」等就是對象的方法。總之類別就是有相同特徵的事物的集合,而物件就是類別的一個具體實例。同時類別有多態和繼承,例如“人類”可以分為“男人、女人”,“老人、小孩”那麼“男人、女人”就是“人類”的子類等等。
Java語言中對類別Person的定義往往如下:
public class Person { private String name; //属性:姓名 private int height; //属性:身高 private int weight; //属性:体重 public Person() {} public Person(String name, int height, int weight) { this.name = name; this.height = height; this.weight = weight; } //... some methods... public void doSth() { //行为: //... do something } }
物件是類別的具體的個體。例如,張三是類別Person的一個物件。 Person可能存在無數個物件(就好像地球上存在數十億人一樣)。
方法是被物件呼叫的例如“張三.穿衣()”,用static修飾的方法是靜態的方法或稱為共享方法,一般用類別名稱直接呼叫。
Java中,物件的建立可以使用new來建立一個物件。例如:
Person zhangsan = new Person("Zhangsan", 170, 65); //创建对象:“Zhangshan” zhangsan.doSth(); //对象行为:对象自己发出行为
#相關學習推薦:java基礎
以上是java對象怎麼理解?的詳細內容。更多資訊請關注PHP中文網其他相關文章!