java 抽象類 介面
抽象類的理解:抽象類就是比普通的類多了一個abstract修飾符,如果一個類裡面有抽象的方法那麼這個類一定要用abstract修飾,抽象類裡可以沒有抽象方法。抽象類可以有建構函式,因為類是用來繼承的子類會呼叫父類的建構函式,預設是super(),如果抽象類中定義了有引數的建構函式,那麼子類一定要定義個和抽象類中的建構函式一直的建構函式
抽象類是不能夠例項化的類: 它的作用就是產生子類的同時給於子類一些特定的屬性和方法.
優點:如果多個類繼承了此類,當修改抽象類的屬性時,可以同時修改多個。
抽象類是一些抽象概念上的東西,是我們設計人員獨立出來而現實不存在的東西。抽象的概念在問題領域沒有對應的具體概念,所以用以表徵抽象概念的抽象類是不能夠例項化的。 抽象類就如他的名字一樣是抽象的,他裡面的方法都是沒有方法體的,也就是沒有實際的實現程式碼,而例項化後的物件是類的一個實體物件,是可以呼叫他的方法完成一些功能的,一個抽象類的方法沒有方法體(半成品,呵呵),當然不能例項化了。
從設計的角度看:抽象類在公司通常不是由程式設計師定義的,而是由專案經理或者某個模組得設計人員。設計抽象類得原因通常只有一個:為了規範方法名。咱們都知道,抽象類必須要繼承,不然沒法用,作為模組設計者,可以把讓底層程式設計師直接用得方法直接呼叫,而一些需要讓程式設計師覆蓋後自己做得方法則定義稱抽象方法。
通俗的講,定義了一個汽車的抽象類,可是你不可以例項化它,因為你不知道它是轎車,客車,F1賽車。抽象類和介面區別
1.abstract class 在 Java 語言中表示的是一種繼承關係,一個類只能使用一次繼承關係。但是,一個類卻可以實現多個interface。 2.在abstract class 中可以有自己的資料成員,也可以有非abstarct的成員方法,而在interface中,只能夠有靜態的不能被修改的資料成員(也就是必須是static final的,不過在 interface中一般不定義資料成員),所有的成員方法都是abstract的。 3.abstract class和interface所反映出的設計理念不同。其實abstract class表示的是"is-a"關係,interface表示的是"like-a"關係。 4.實現抽象類和介面的類必須實現其中的所有方法。抽象類中可以有非抽象方法。介面中則不能有實現方法。 5.介面中定義的變數預設是public static final 型,且必須給其初值,所以實現類中不能重新定義,也不能改變其值。 6.抽象類中的變數預設是 friendly 型,其值可以在子類中重新定義,也可以重新賦值。 7.介面中的方法預設都是 public,abstract 型別的。
相關推薦
Java抽象類介面、內部類題庫
一、 選擇題 1. Person類和Test類的程式碼如下所示,則程式碼中的錯誤語句是( C )。(選擇一項) public class Person { public String nam
java 抽象類 介面
抽象類的理解:抽象類就是比普通的類多了一個abstract修飾符,如果一個類裡面有抽象的方法那麼這個類一定要用abstract修飾,抽象類裡可以沒有抽象方法。抽象類可以有建構函式,因為類是用來繼承的子類會呼叫父類的建構函式,預設是super(),如果抽象類中定義了有引數的建
Java抽象類和介面(一)
**********************第九章 抽象類和介面************************** **************************抽象類************************** 一.why 什麼時候想到使用抽象類 需求: 矩形、三角形、
Java抽象類和介面(三)
***********************體會介面的好處******************************* 一.可維護、可擴充套件 面向介面程式設計 介面:父型別 面向父類程式設計 二.解耦 高內聚、低耦合 耦合: 類和類之間的關係... 只要類和類之間有四種關係
Java抽象類和介面(二)
***************************介面********************************* 一.why 需求一直不變的時候可以不使用介面, 需求經常發生改變推薦使用介面... 軟體產品中需求會經常改變,所以一般都要使用介面... 體現了可維護、可擴充套件的優點 二.
Java——抽象類和介面的區別
一. 區別 1.語法層面上的區別 1)抽象類可以提供成員方法的實現細節,而介面中只能存在public abstract 方法; 2)抽象類中的成員變數可以是各種型別的,而介面中的成員變數只能是public static final型別的; 3)介面中不能含有靜
Java抽象類與介面的區別及default關鍵字學習總結
抽象類 可看做是不可例項化的普通類,可以擁有構造方法,可以有main方法 抽象類中的方法可以是抽象方法(抽象方法必須存在於抽象類中),也可以是普通方法、靜態方法 可以宣告變數 抽象類可以繼承其它類,也可實現介面 抽象類的派生類,必須覆蓋父類中abstract修
java基礎-抽象類/介面
抽象類:包含抽象方法的類叫抽象類。抽象方法由 abstract修飾。有抽象方法的類也必須由abstract修飾。 抽象方法:在抽象類內部不給予實現。當有一個類,繼承了當前的抽象方法後需要實現。抽象方法不能被private修飾(修飾意味著不能被別的類繼承,而抽象方法又必須被繼
java基礎個人筆記之抽象類,介面與多型,內部類
抽象類: 抽象:籠統,模糊,看不懂!不具體。 特點: 1,方法只有宣告沒有實現時,該方法就是抽象方法,需要被abstract修飾。 抽象方法必須定義在抽象類中。該類必須也被abstract修飾。 2,抽象類不可以被例項化。為什麼?因為呼叫抽象方法沒意義。 3,抽象類必須有其子類覆蓋了所有
java抽象類、多型、介面
抽象類 抽象類的產生 當編寫一個類時,我們往往會為該類定義一些方法,這些方法是用來描述該類的功能具體實現方式,那麼這些方法都有具體的方法體。 但是有的時候,某個父類只是知道子類應該包含怎麼樣的方法,但是無法準確知道子類如何實現這些方法。比如一個圖形類應該有一個求周長的方法,但是不同的圖形
java 多型, 抽象類, 介面
1. 繼承 2. 重寫 3.父類引用指向子類物件 傳遞子類物件 當呼叫父類被重寫的方法時,實際new的是什麼子類物件就呼叫哪個子類物件的方法 執行期間,根據實際物件來呼叫,而不是父類引用。所以叫動態繫結,也叫多型 既然父類的方法註定要被重寫,那就沒有必要寫實現了,就可以將他定
Java抽象類與介面的區別
2014/07/16 | 分類: 基礎技術 | 6 條評論 | 標籤: 抽象類, 介面 分享到: 很多常見的面試題都會出諸如抽象類和介面有什麼區別,什麼情況下會使用抽象類和什麼情況你會使用介面這樣的問題。本文我們將仔細討論這些話題。 在討論它們之間的不同點之前,
10個Java抽象類和介面的面試題
1. Java抽象類可以有建構函式嗎? 可以有,抽象類可以宣告並定義建構函式。因為你不可以建立抽象類的例項,所以建構函式只能通過建構函式鏈呼叫(Java中建構函式鏈指的是從其他建構函式呼叫一個建構函式),例如,當你建立具體的實現類。現在一些面試官問,如果你不能對抽象類例項化
Java物件和例項的關係、Java資料封裝、Java繼承和多型、Java抽象類和介面、Java靜態欄位和方法、Java包和作用域、Java的classpath和jar、Java核心類
Java物件和例項的關係: 面向物件程式設計(Object-Oriented Programming),是對現實世界建立計算機模型的一種方法。 class是物件的模板,它定義瞭如何建立例項,class的名字就是資料型別。一個class裡可以有多個欄位(field),欄位用
java-抽象類和介面的區別
1、成員區別: - 抽象類 * 成員變數:可以變數,也可以常量 * 構造方法:有 * 成員方法:可以抽象,也可以非抽象 - 介面 * 成員變數:只可以
java抽象類 和介面
1.抽象類 public abstract class People { private String name; private int age; private String sex; private final int a = 20; public abs
Java抽象類、介面的理解及default關鍵字
抽象類 可看做是不可例項化的普通類,可以擁有構造方法,可以有main方法 抽象類中的方法可以是抽象方法(抽象方法必須存在於抽象類中),也可以是普通方法、靜態方法 可以宣告變數 抽象類可以繼承其
再看Java抽象類與介面
寫了這麼久的介面,也很少用到抽象類。 在一些原始碼中又看到,自己平時基本不會用到抽象類,但是最近學習又不記得到底有什麼區別了,再來先看一下。 首先, java的面向物件的特徵是什麼: 面向物件程式設計有四個特徵:抽象,封裝,繼承,多型。 java墮胎的四種體現形式: 多型
Java學習筆記 抽象類 介面 多型
instanceof 物件名 instanceof 類名 該物件是否屬於該類 Animal animal = new Dog(); if(animal instanceof Dog){ Dog d = (Dog)animal; } 多型 Animal