1. 程式人生 > >面向對象1—類

面向對象1—類

得到 包子 相對 ava 定義變量 返回 訪問控制 一份 當前

。可以將類當做一種自定義類型(引用類型),使用類來定義變量(引用變量)

。類和對象是面相對象的核心

。類是對象的抽象,對象是類的具體實例

定義類

。[修飾符] class ClassName{

零到多個構造器定義;

零到多個成員變量;

零到多個方法;

}

。類訪問修飾符

。。public

*訪問控制符。將類聲明為公共類,可以被任何對象訪問。一個程序的主類必須是public

。。final

*將一個類聲明為終止(非繼承類)。不能被其他類繼承

。。abstract

*將類聲明為抽象類。沒有實現方法,需要子類提供實現方法

。。或忽略

。構造器

。。一個類創建對象的根本途徑,如果類沒有構造器,則無法創建實例

。。如果沒有編寫構造器,Java提供默認構造器

。。[修飾符] 構造器名(形參列表)

*修飾符

      **可以省略,可以是public、protected、private之一

*構造器名

**必須與類名相同

。。不能定義返回類型也不能用void聲明構造器沒有返回值;否則當成方法處理

。成員變量

。。[修飾符] 類型 成員變量名[=默認值];

。。修飾符

*public

**訪問控制修飾符:當前類、同包、子孫類、其他包、其他包子孫類

**可與static、final組合使用修飾成員變量

*protected

**訪問控制修飾符:當前類、同包、子孫類

**可與static、final組合使用修飾成員變量

*default/忽略

**訪問控制修飾符:當前類、同包

**可與static、final組合使用修飾成員變量

*private

**訪問控制修飾符:當前類、同包

**可與static、final組合使用修飾成員變量

*static

**非訪問控制修飾符

**聲明獨立於對象的靜態變量,無論實例化多少個對象,其靜態變量只有一份拷貝

**靜態變量也被稱為類變量

**局部變量不能被申明為static變量

*final

**非訪問控制符

**變量編程常量,不能被修改

。。默認值

* 成員變量可以指定默認初始值

。方法

。。[修飾符] 方法返回值 方法名(形參列表){

零到多條的可執行性語句組成的方法體

}

。。修飾符

*public

**訪問控制修飾符:當前類、同包、子孫類、其他包、其他包子孫類

*protected

**訪問控制修飾符:當前類、同包、子孫類

*default

**訪問控制修飾符:當前類,同包類

*private

**訪問控制符:當前類

*static

**聲明獨立於對象的靜態方法

**靜態方法不能使用非靜態變量

**靜態方法從參數列表得到數據,然後計算這些數據

*final

**inal方法可以被子類繼承,但不能被子類修改

**聲明final方法目的是防止該方法被修改

*abstract

**抽象方法是一種沒有任何實現的方法,具體提實現由子類提供

**抽象方法不能被聲明為final或static

**任何繼承抽象類的子類必粗實現父類的所有抽象方法,除非該子類也是抽象方法

**如果一個方法包含若幹個抽象方法,則該方法必須聲明為抽象類;

**抽象類可以沒有抽象方法

。。方法返回值

*基本類型、引用類型或void

*聲明方法返回值,則必須包含一個有效return

。。方法名

。。形參列表

。註

。。修飾符參考 http://www.runoob.com/java/java-modifier-types.html#protected-desc

面向對象1—類