綱要:
OOP方法提供了一種資料和方法重組的手段。3個基本特徵:封裝、繼承和多態
1)類、欄位和方法
類的定義:[類修飾符]class類名[extends父類名][implements介面名列表]{類體}
方法的定義:每個方法必須屬於某個類,[方法修飾符]傳回型別 方法名(方法參數列表){方法體}
構造方法在建立新的對象時自動調用,一般用來初始化各欄位。預設的構造方法首先調用父類的預設構造方法。析構方法由java虛擬機器垃圾處理器自動處理。finalize()在對象剛要被回收前由java調用,無參數也不返回任何值(void)。方法中參數傳遞。
欄位的定義。
2)類成員的封裝性
成員的存取控制:
成員為public 可以訪問的有:同類成員、同包成員、子類
成員為protected 可以訪問的有:同類成員、同包成員、子類
成員為default可以訪問的有:同類成員、同包成員
成員為private可以訪問的有:同類成員
類的存取控制:public和default(同包的類能訪問)
3)部分關鍵字:
this 、abstract(抽象方法只能是抽象類別中的方法,只提供方法頭部,抽象類別要顯式指出,抽象類別不能執行個體化)、final欄位定義常量private final int INCRA = 0、final方法不能被子類的方法覆蓋、final類不能被繼承。static。
抽象方法是abstract方法且只提供函數頭;抽象類別是abstract類;兩者的關係是:定義抽象方法的類一定是抽象類別,抽象類別不一定定義抽象方法。
4)繼承性
extends 。子類增加了新的欄位和方法採納舊的欄位和方法。instanceof測試對象是否是某類的執行個體。
5)多態性
靜態重載和動態覆蓋。super關鍵字調用父類的成員。用父類的引用指向子類的對象,從而調用同名的子類方法。
6)介面
interface。方法是abstract 、欄位是final或static。必須為public。
7)包
建立包:package com.google.soap.search;
通過import加入到程式中
8)內部類
類似於成員方法。在同類的方法中執行個體化一個內部類,並可以賦值給標識符。
匿名內部類:(new construtFunc(){ funcDef})