Java基础知识➣面向对象(八)
概述
Java和C#都是面向?qū)ο笳Z言,面向?qū)ο缶幊淌悄壳案呒壵Z言習慣的編程模式,與C++編寫過程編程而言,面向?qū)ο笫褂闷饋砀咝А㈧`活;面向?qū)ο蟮娜齻€特征:封裝、繼承和多態(tài)。
Java面向?qū)ο?/p>
1、類封裝:
在 Java 中通過 extends 關鍵字可以申明一個類是從另外一個類繼承而來的.class 子類 extends 父類{}.implements 關鍵字可以變相的使java具有多繼承的特性,使用范圍為類繼承接口的情況,可以同時繼承多個接口(接口跟接口之間采用逗號分隔)。
2、super 與 this :
super關鍵字:我們可以通過super關鍵字來實現(xiàn)對父類成員的訪問,用來引用當前對象的父類。this關鍵字:指向自己的引用。
3、final 關鍵字聲明類可以把類定義為不能繼承的,即最終類;或者用于修飾方法,該方法不能被子類重寫。聲明final的方法不能被重寫。
4、構(gòu)造器:
子類不能繼承父類的構(gòu)造器(構(gòu)造方法或者構(gòu)造函數(shù)),但是父類的構(gòu)造器帶有參數(shù)的,則必須在子類的構(gòu)造器中顯式地通過super關鍵字調(diào)用父類的構(gòu)造器并配以適當?shù)膮?shù)列表。
如果父類有無參構(gòu)造器,則在子類的構(gòu)造器中用super調(diào)用父類構(gòu)造器不是必須的,如果沒有使用super關鍵字,系統(tǒng)會自動調(diào)用父類的無參構(gòu)造器。
5、方法重寫和重載;
不像C# 使用OverWrite和virtual 之前調(diào)用轉(zhuǎn)化;子類調(diào)用父類同名方法,需要使用super.方法名稱
6、Java多態(tài);
多態(tài)是同一個行為具有多個不同表現(xiàn)形式或形態(tài)的能力。多態(tài)就是同一個接口,使用不同的實例而執(zhí)行不同操作。
多態(tài)的必要條件:繼承、重寫、父類引用指向子類對象;
多態(tài)的實現(xiàn)方式:重寫、接口、抽象類和抽象方法;
7、抽象類和抽象方法:
抽象類和抽象方法都是使用abstract修飾。
?
抽象類總結(jié)規(guī)定
1. 抽象類不能被實例化(初學者很容易犯的錯),如果被實例化,就會報錯,編譯無法通過。只有抽象類的非抽象子類可以創(chuàng)建對象。
2. 抽象類中不一定包含抽象方法,但是有抽象方法的類必定是抽象類。
3. 抽象類中的抽象方法只是聲明,不包含方法體,就是不給出方法的具體實現(xiàn)也就是方法的具體功能。
4. 構(gòu)造方法,類方法(用static修飾的方法)不能聲明為抽象方法。
5. 抽象類的子類必須給出抽象類中的抽象方法的具體實現(xiàn),除非該子類也是抽象類。
8、接口:
接口通過implements實現(xiàn)接口繼承。一個類可以繼承多個接口。一個接口可以繼承多個接口。一個類只可以繼承一個父類。
標記接口:
最常用的繼承接口是沒有包含任何方法的接口。
標識接口是沒有任何方法和屬性的接口.它僅僅表明它的類屬于一個特定的類型,供其他代碼來測試允許做一些事情。
標識接口作用:簡單形象的說就是給某個對象打個標(蓋個戳),使對象擁有某個或某些特權。
標記接口主要用于以下兩種目的:
建立一個公共的父接口、向一個類添加數(shù)據(jù)類型
9、包:
Java 提供了包機制,用于區(qū)別類名的命名空間;
包的作用
1、把功能相似或相關的類或接口組織在同一個包中,方便類的查找和使用。
2、如同文件夾一樣,包也采用了樹形目錄的存儲方式。同一個包中的類名字是不同的,不同的包中的類的名字是可以相同的,當同時調(diào)用兩個不同包中相同類名的類時,應該加上包名加以區(qū)別。因此,包可以避免名字沖突。
3、包也限定了訪問權限,擁有包訪問權限的類才能訪問某個包中的類。
import 關鍵字,導入該包;生成java結(jié)尾源文件,class生成調(diào)用問題;類似dll和.class文件一樣;
10、補充知識
wind系統(tǒng)下修改和查看JavaClassPath的方式:cmd--set calsspath
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/xibei666/p/6502857.html
總結(jié)
以上是生活随笔為你收集整理的Java基础知识➣面向对象(八)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Struts2与Spring整合
- 下一篇: 20155313 2016-2017-2