1. 程式人生 > >Java面向對象-對象和類概述

Java面向對象-對象和類概述

編程 定義類 存在 單詞 指向 修飾符 tro etag his

java語言提供了定義類、成員變量、方法等基本功能。

類可以認為是一種自定義的數據類型,可以使用類來定義變量,所有使用類來定義的變量都是引用變量,它們都會引用到類的對象。

java面向對象的三大特征:封裝、繼承、多態。

封裝:提供了private、protected和public三個訪問修飾符來實現

繼承:extends關鍵字讓子類繼承父類

多態:父類引用指向子類對象,使用繼承關系來實現復用時,子類對象可以直接賦給父類變量,這個變量具有多態性,編程更加靈活。(百度搜:花木蘭替父從軍引例)

類和對象:

類是某一批對象的抽象,可以把類理解為某種概念;

對象才是一個具體存在的實體。

類中三種常見的成員:構造器、成員變量、方法。

static修飾的成員表明它屬於這個類本身,而不屬於該類的單個實例,因此通常把static修飾的成員變量和方法稱為類變量、類方法。不使用static修飾的普通方法、成員變量則屬於該類的單個實例。static修飾的方法中不能使用this引用(static直接訪問,無需創建對象),所以static修飾的方法不能訪問不使用static修飾的普通成員,即static修飾的成員不能訪問沒有static修飾的成員。(大部分資料將static稱為靜態,這種說法很模糊,完全無法說明static的真正作用)

成員變量Tips:成員變量由英文單詞field意譯而來,早期有些書籍將成員變量稱為屬性。但實際上在java世界裏屬性(由property翻譯而來)指的是一組setter方法和getter方法。比如說某個類有age屬性,意味著該類包含getAge()和setAge()兩個方法,另外有些資料、書籍將field翻譯為字段、域。

參數列表:一旦在定義方法時指定了形參列表,則調用該方法時必須傳入對應的參數值——誰調用方法,誰負責為形參賦值。

顯示定義構造函數的意義:構造函數可以包含參數,構造函數包含的參數給調用者提出要求:這些參數,是創建這個類必須要用的。這比直接在初始化的時候賦值更靈活,也更規範。(比如小孩生下來有沒有名字,是男是女是不確定的,但可以肯定的是小孩子出生時都會哭,此時哭就是創建這個類必須要用的)Java語言都過new關鍵字來調用構造器,從而返回該類的實例。如果一個類沒有構造器,這個類通常無法創建實例(系統可以默認提供一個構造器)。static修飾的方法和變量,既可以通過類來調用,也可以通過實例來調用。

定義類之後,使用時,java的類大致由如下作用:

--定義變量

--創建對象

--調用類的方法或訪問類的類變量

Java面向對象-對象和類概述