類別和物件
物件我們知道,代表現實世界中可以明確標識的一個實體(萬物皆物件),每個對象都有自己獨特的標識、狀態和行為。
類別是具有相似特徵和行為的事物的統稱。使用一個通用類別來定義同一類型的物件。類別是一個模板 、藍本或者說是合約 , 用來定義物件的資料域是什麼以及方法是做什麼的 。
一個物件是類別的一個實例,可以從一個類別中建立多個實例 。
注意:主函數是不需要建立物件的,可以直接呼叫(由JVM)。
java相關影片教學:java學習影片
#類別的分類
主類別:主要負責程序的運行
實體類別:主要負責描述事物
工具類別:一般不會建立對象,直接透過類別呼叫函數(靜態)
下面幾個就是我們常用的比較熟悉的幾個工具類別:
Math.abs() Math.random() Arrays.toString(); System.out.println();
物件與類別的關係:
類別是物件的定義, 物件從類別建立。例如狗是一個類,對所有狗的一個統稱,而哈士奇就是狗這個類的一個實體對象。
如何定義一個類別
主要定義其特徵和行為
特徵:變數
行為:函數
定義狗這個類,特徵有姓名、性別、年齡、身高、體重和毛色,定義6個成員變數存放,行為有吃和睡,定義兩個成員函數來實現。
class Dog{ //直接定义在类中的变量 成员变量 姓名 String name; 性别 String sex; 年龄 int age; 身高 double heigth; 体重 double weight; 毛色 String color; //成员函数(非static函数) 吃 public void eat(){... return;} 睡 public void sleep(){... return;} }
建立特定物件:
public class Mian{ public static void main(String[] args) { Dog Huskies=new Dog(); } }
物件建立的流程
1、主函數先進堆疊
##2 、執行語句的右邊new Dog(),在堆記憶體中開啟一個空間,隨機分配位址3、在物件空間中建立成員變數的空間,並對成員變數進行預設初始化,建立成員函數(並不在物件空間裡,也不再堆疊裡,在堆疊中呼叫)4、在函數堆疊中創建局部變量,存放的是該物件在堆疊記憶體中的地址#局部變數和成員變數的差異
區別一:定義的位置不同##成員變數定義在類別中,局部變數定義在方法中或語句裡面
區別二:在記憶體中的位置不同成員變數儲存在堆疊記憶體的物件中,局部變數儲存在堆疊記憶體的方法中
區別三:宣告週期不同成員變數隨著物件的出現而出現在堆中,隨著物件的消失而從堆中消失,局部變數隨著方法的運行而出現在堆疊中,隨著方法的彈棧而消失
區別四:初始化不同成員變數因為在堆疊記憶體中,有預設的初始化值,局部變數沒有預設的初始化值,必須手動的給其賦值才可以使用
java相關文章教學分享:
java零基礎入門以上是關於java中類別和物件的詳細介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!