程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> java復習總結2之靜態方法

java復習總結2之靜態方法

編輯:JAVA綜合教程

java復習總結2之靜態方法


靜態方法
與靜態變量一樣,我們也可以使用 static 修飾方法,稱為靜態方法或類方法。
其實之前我們一直寫的 main 方法就是靜態方法。
靜態方法中可以直接調用同類中的靜態成員,但不能直接調用非靜態成員。
如果希望在靜態方法中調用非靜態變量,可以通過創建類的對象,然後通過對象來訪問非靜態變量。
在普通成員方法中,則可以直接訪問同類的非靜態變量和靜態變量。
靜態方法中不能直接調用非靜態方法,需要通過對象來訪問非靜態方法。
靜態初始化塊
Java 中可以通過初始化塊進行數據賦值。
在類的聲明中,可以包含多個初始化塊,當創建類的實例時,就會依次執行這些代碼塊。如果使用
static 修飾初始化塊,就稱為靜態初始化塊。
注意:靜態初始化塊只在類加載時執行,且只會執行一次,同時靜態初始化塊只能給靜態變量賦值,不能初始化普通的成員變量。
面向對象特性
面向對象三大特性:封裝,繼承,多態
封裝:將類的某些信息隱藏在類內部,不允許外部程序直接訪問,
而是通過該類提供的方法來實現對隱藏信息的操作和訪問
優點:1只能通過規定的方法訪問數據2隱藏類的實例細節,方便修改和實現


java中包的作用:管理java文件 解決同名文件沖突
包的使用:可以通過import關鍵字,在某個文件使用其他文件中的類。
java中,包的命名規范是全小寫字母拼寫
java中的訪問修飾符
訪問修飾符:可以修飾屬性和方法的訪問范圍
訪問修飾符總結
訪問修飾符 本類 同報 子類 其它
private 是
默認 是 是
protected 是 是 是
public 是 是 是 是
java中的this關鍵字
this關鍵字代表當前對象
this.屬性 操作當前對象的屬性
this.方法 調用當前對象的方法
封裝對象的屬性的時候,經常會使用this關鍵字
java中的內部類
內部類( Inner Class )就是定義在另外一個類裡面的類。與之對應,包含內部類的類被稱為外部類。
內部類的主要作用如下:
1. 內部類提供了更好的封裝,可以把內部類隱藏在外部類之內,不允許同一個包中的其他類訪問該類
2. 內部類的方法可以直接訪問外部類的所有數據,包括私有的數據
3. 內部類所實現的功能使用外部類同樣可以實現,只是有時使用內部類更方便
內部類可分為以下幾種:
成員內部類
靜態內部類
方法內部類
匿名內部類
java中的靜態內部類
靜態內部類是 static 修飾的內部類,這種內部類的特點是:


1、 靜態內部類不能直接訪問外部類的非靜態成員,但可以通過 new 外部類().成員 的方式訪問


2、 如果外部類的靜態成員與內部類的成員名稱相同,可通過“類名.靜態成員”訪問外部類的靜態成員;如果外部類的靜態成員與內部類的成員名稱不相同,則可通過“成員名”直接調用外部類的靜態成員


3、 創建靜態內部類的對象時,不需要外部類的對象,可以直接創建 內部類 對象名= new 內部類();
java中的方法內部類
方法內部類就是內部類定義在外部類的方法中,方法內部類只在該方法的內部可見,即只在該方法內可以使用。
注意:由於方法內部類不能在外部類的方法以外的地方使用,因此方法內部類不能使用訪問控制符和 static 修飾符。
內部類不能有自己的成員方法和成員變量

繼承
繼承是類與類的一種關系,是一種"is a"的關系
java中的繼承是單繼承
繼承的好處:子類擁有父類的所有屬性和方法(不能使用private修飾)
實現代碼復用
語法規則:
class 子類 extends 父類
方法的重寫
如果子類對繼承父類的方法不滿意,是可以重寫父類繼承的方法的
當調用方法時會優先調用子類的方法
語法規則:
返回值類型
方法名
參數類型及個數
都要與父類繼承的方法相同,才叫方法的重寫
繼承的初始化順序
1 初始化父類在初始子類
2 先執行初始化對象中屬性,在執行構造方法中的初始化
final關鍵字
使用final關鍵字做標識有“最終的”含義
final可以修飾類、方法、屬性和變量
final修飾類,則該類不允許被繼承
final修飾方法,則該方法不允許被覆蓋(重寫)
final修飾屬性
則該類的屬性不會進行隱式的初始化(類的初始化屬性必須有值)
或在構造方法中賦值(但是只能選擇其中的一個)
final修飾變量,則該變量的值只能賦一次值,即變為常量
super關鍵字
在對象內部使用,可以代表父類對象
應用:子類的構造過程當中必須調用其父類的構造方法。
如果子類的構造方法中沒有顯示調用父類的構造方法,
則系統默認調用父類無參的構造方法。
如果顯示的調用構造方法,必須在子類的構造方法的第一行。
如果子類構造方法中即沒有顯示調用父類的構造方法,而父類又沒有無參的構造方法則編譯出錯,。
Object類
Object類是所有類的父類,如果一個類沒有使用extends關鍵字明確標識繼承另外一個類,那麼這個類默認繼承
Object類
Object類中的方法,適合所有子類。
1 toString()方法
在Object類裡面定義toString()方法的時候返回的對象的哈希code碼(對象地址字符串)
可以通過重寫toString()方法表示出對象的屬性
2 equal()方法
比較的是對象的引用是否指向同一塊內存地址

一般情況下比較兩個對象時比較他的值是否一致,所以要進行重寫

多態
對象的多種形態
1 引用多態
父類的引用可以指向本類的對象
父類的引用可以指向子類的對象
2 方法多態
創建本類對象時,調用的方法為本類方法
創建子類對象時,調用的方法為子類重寫的方法或者繼承的方法
多態中的引用類型轉換
1 向上類型轉換(隱式/自動類型轉換),是小類型到大類型的轉換
2 向下類型轉換(強制類型轉換),是大類型到小類型
3 instanceof運算符,來解決引用對象的類型,避免類型轉換的安全性問題
java中的抽象類
語法定義:抽象類前使用abstract關鍵字修飾,則該類為抽象類
應用場景:
1 在某些情況下,某個父類只是知道其子類應該包含怎樣的方法
,但無法准確知道這些子類如何實現這些方法。
2 從多個具有相同特征的類中抽象出一個抽象類,以這個抽象類作為子類的模板,
從而避免了子類設計的隨意性。
作用:限制規定子類必須實現某些方法,但不關注實現細節
使用規則
1 abstract定義抽象類
2 abstract定義抽象方法,只有聲明,不需要實現
3 包含抽象方法的類是抽象類
4 抽象類中可以包含普通的方法,也可以沒有抽象方法
5 抽象類不能直接創建,可以定義引用變量
java中接口
接口概念
接口可以理解為一種特殊的類,由全局常量和公共的抽象方法所組成。
類是一種具體實現體,而接口定義了某一批類所需要遵守的規范,接口不關心
這些類的內部數據,也不關心這些類裡必須提供某些方法。
接口就是用來被繼承、被實現的,修飾符一般建議用public,
注意:不能使用private和protected修飾接口
常量
接口中的屬性是常量,即使定義時不添加public static final 修飾符,系統也會自動加上
方法:
接口中的方法只能是抽象方法,總是使用,即使定義時不添加public abstract修飾符,系統也會自動加上
使用接口:
一個類可以實現一個或多個接口,實現接口使用implements關鍵字。java中一個類只能繼承一個父類,
是不夠靈活的,通過實現多個接口可以做補充。
如果要繼承父類,繼承父類必須在實現接口之前
使用接口:
接口在使用過程當中,還經常與匿名內部類配合使用


匿名內部類就是沒有名字的內部類,多用於關注實現而不關注實現類的名稱

UML
概念
Unified Modeling Language(UML)
又稱統一建模語言或標准建模語言
是一個支持模型化和軟件系統開發的圖形化語言
為軟件開發的所有階段提供模型化和可視化支持
常用UML圖
用例圖
用例圖能夠以可視化的方式,表達系統如何滿足所收集的業務規則,以及
特定的用戶需求等信息。
序列圖
序列圖用於按照交互發生的一系列順序,顯示對象之間的這些交互。
類圖
UML類圖、業務邏輯和所有支持結構一同被用於定義全部的代碼結構。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved