面向對象1—類
。可以將類當做一種自定義類型(引用類型),使用類來定義變量(引用變量)
。類和對象是面相對象的核心
。類是對象的抽象,對象是類的具體實例
定義類
。[修飾符] 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—類