1. 程式人生 > >java面向物件的四大特性-多型,繼承,抽象,封裝

java面向物件的四大特性-多型,繼承,抽象,封裝

對於面向物件的程式設計語言來說,類毫無疑問是其最重要的基礎。抽象、封裝、繼承、多型這四大特性都離不開類,只有存在類,才能體現面向物件程式設計的特點,今天我們就來了解一些類與繼承的相關知識。首先,我們講述一下與類的初始化相關的東西,然後再從幾個方面闡述繼承這一大特性。以下是本文的目錄大綱:

  一.你瞭解類嗎?

  二.你瞭解繼承嗎?

  三.常見的面試筆試題

  若有不正之處,請多多諒解並歡迎批評指正。

  請尊重作者勞動成果,轉載請標明原文連結:

一.你瞭解類嗎?

  在Java中,類檔案是以.java為字尾的程式碼檔案,在每個類檔案中最多隻允許出現一個public類,當有public類的時候,類檔案的名稱必須和public類的名稱相同,若不存在public,則類檔案的名稱可以為任意的名稱(當然以數字開頭的名稱是不允許的)。

  在類內部,對於成員變數,如果在定義的時候沒有進行顯示的賦值初始化,則Java會保證類的每個成員變數都得到恰當的初始化:

  1)對於  char、short、byte、int、long、float、double等基本資料型別的變數來說會預設初始化為0(boolean變數預設會被初始化為false);

  2)對於引用型別的變數,會預設初始化為null。

  如果沒有顯示地定義構造器,則編譯器會自動建立一個無參構造器,但是要記住一點,如果顯示地定義了構造器,編譯器就不會自動新增構造器。注意,所有的構造器預設為static的。

  下面我們著重講解一下 初始化 順序:

  當程式執行時,需要生成某個類的物件,Java執行引擎會先檢查是否載入了這個類,如果沒有載入,則先執行類的載入再生成物件,如果已經載入,則直接生成物件。

  在類的載入過程中,類的static成員變數會被初始化,另外,如果類中有static語句塊,則會執行static語句塊。static成員變數和static語句塊的執行順序同程式碼中的順序一致。記住,在Java中,類是按需載入,只有當需要用到這個類的時候,才會載入這個類,並且只會載入一次。看下面這個例子就明白了:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 public class Test { public
 static void main(String[] args) throws ClassNotFoundException { Bread bread1 = new Bread(); Bread bread2 = new Bread(); } } class Bread { static{ System.out.println("Bread is loaded"); } public Bread() { System.out.println("bread"); } }

  執行這段程式碼就會發現"Bread is loaded"只會被列印一次。

  在生成物件的過程中,會先初始化物件的成員變數,然後再執行構造器。也就是說類中的變數會在任何方法(包括構造器)呼叫之前得到初始化,即使變數散步於方法定義之間。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 public class Test { public static 

相關推薦

JAVA面向物件程式設計中特性的概述

多型的概念 多型,是指允許程式中出現重名的現象 在java中的體現 在java面向物件程式設計中,具體表現在如下兩個方面: 1. 方法過載 即在同一個類中允許出現同名的方法,只要他們的引數個數或者型別不同即可。這種情況下,該方法就叫被過載了,這個過程稱為方法的過載。

Java面向物件四大特性

1.多型 :晚繫結,執行時,一個介面,多種實現 面向物件的四大特性:封裝、繼承、多型、抽象。從一定角度來看,封裝和繼承幾乎都是為多型而準備的。是最重要的知識點。 多型的定義:指允許不同類的物件對同一訊息做出響應。即同一訊息可以根據傳送物件的不同而採用多種不同的行為方式。(傳送訊息就是函式

Java 面向物件四大特性

Java 面向物件四大特性 1.抽象  2.封裝  3.繼承   4.多型 1.抽象。抽象就是將一些事物的共性和相似點抽離出來,並將這些屬性歸為一個類,簡單理解是:將需要解決的事情抽象成Java程式碼。 2.封裝。封裝是為了隱藏內部實現細節,是保證軟

Java 面向物件程式設計之

轉自:chenssy java提高篇之理解java的三大特性——多型 封裝隱藏了類的內部實現機制,可以在不影響使用的情況下改變類的內部結構,同時也保護了資料。對外界而已它的內部細節是隱藏的,暴露給外界的只是它的訪問方法。 繼承是為了重用父類程式碼。兩個類若存在IS-A的關係就可以使用

OPP(面向物件)三大特性------(polymorphism)

1.多型概念:多型是指同一操作作用於某一類物件,可以有不同的解釋,產生不同的執行結果。通俗來講:某一類物件可以看做是動物,同一操作可以看做eat()方法,不同的解釋看做是不同的動物,不同結果看做是吃法不同。解析起來就是:動物都有吃的行為,狗是吃骨頭,羊是吃草。

java面向物件四大特性-繼承抽象封裝

對於面向物件的程式設計語言來說,類毫無疑問是其最重要的基礎。抽象、封裝、繼承、多型這四大特性都離不開類,只有存在類,才能體現面向物件程式設計的特點,今天我們就來了解一些類與繼承的相關知識。首先,我們講述一下與類的初始化相關的東西,然後再從幾個方面闡述繼承這一大特性。以下是本文的目錄大綱:   一.你瞭解

Java面向物件三大特性-封裝繼承

在講Java面向三大特性之前,我們先了解一下訪問修飾符的訪問範圍: (1):private:同類中具有訪問許可權。 (2):protected:本類 和同包以及不同包的子類才具有訪問許可權。 (3):public:統一工程中都具有訪問許可權。 (4):預設 本類和同包範圍內具有訪問許可權。 一、Ja

Java面向物件三大特性一:詳解

多型 多型(polymorphism):指的是同一個方法呼叫,由於物件不同可能會有不同的行為。現實生活中,同一個方法,具體實現會完全不同。 所謂多型就是指程式中定義的引用變數所指向的具體型別和通過該引用變數發出的方法呼叫在程式設計時並不確定,而是在程式執行期

Java基礎1:面向物件四大特性

面向物件四大特性 抽象(有時候會省略) 封裝 繼承 多型 抽象 將一類物件的共同特徵提取出來構建的類。包括資料抽象和行為抽 象。抽象只關注物件有哪些行為和屬性,而不關注具體的細節。 封裝 利用抽象資料型別將物件的屬性和對屬性的操作封裝起來,

JAVA面向物件三大特性以及抽象類、介面

初識JAVA面向物件 提起面向物件,我們也就想到了面向過程。那麼何為面向物件呢?簡言之萬物皆物件…眾生芸芸,雲裡霧裡不能自已。 好了,步入正題,面向物件是JAVA這門語言的核心所在。要想使用這門語言在猿界立足,一定得要有面向物件的這種程式設計思想。 一、面向物件

面向物件四大特性

抽象:把現實生活中的某一類東西提取出來,用程式程式碼來表示,抽象出來的程式程式碼叫做類或介面。 抽象分為兩個部分:資料(可以理解為現實事務的特徵)抽象和行為抽象。 資料抽象:現實生活中事務的特徵,對應

C++ 面向物件程式設計之理解

#include <iostream> using namespace std; /* 多型的理解 其中面向物件四大特徵之一 其餘為封裝 抽象 繼承 可以簡單概括為“一個介面 多種方法” 1.其中C++多型性體現在編譯期多型和執行期多型 編譯期多型如模板函式,其

面向物件何為

前言:面向物件程式設計過程中少不了 1、封裝 2、繼承 3、多型 三個特性,其中多型又是怎麼理解的呢? 擯棄教科書式回答,多型語義是多種形態的縮寫,在面向物件程式設計的思想中,“萬物皆物件”,那麼我們知道,物件的行為和屬性由模板類定義,而通過模板類(class or

java面向物件三大特性繼承

1、繼承 1 .1、繼承的總說明 1、子類繼承父類,可以繼承父類的全部屬性和方法( 除了父類的構造方法) 2、java只有單繼承一個子類只有一個父類不能有多個父類(c+±-) 3、如果定義一個類沒有

Java基礎1——深入理解Java面向物件三大特性

深入理解Java面向物件三大特性 Java的三大特性:封裝、繼承和多型 封裝:   通常認為封裝是把資料和操作資料的方法繫結起來,對資料的訪問只 能通過已定義的介面。面向物件的本質就是將現實世界描繪成一系列完全自 治、封閉的物件。我們在類中編寫的方法就是對實現細節的一種封裝;我們

第二十四、Java面向物件三大特性繼承與super關鍵字

面向物件的三大特徵:1. 封裝2. 繼承3. 多型. 1、類和類之間的常見關係     1:既然繼承是描述類和類之間的關係,就需要先來了解類和類之間的常見關係 1.1  現實生活的整體與部分 舉例說明 1:現實生活     1:學生   是人      2:狗    

C++四大特性—— 的總結

我們都知道,C語言和C++的區別就是,C語言是面對過程的程式設計,而C++是面對物件的程式設計。 面對物件的程式設計有4大特性:分別是,抽象、封裝、繼承、多型。 今天我們就來總結一下多型的內容。 多型:分為靜態多型和動態多型: 靜態多型:編譯器在編譯期間

JAVA面向物件高階特性繼承(1)常見問題解答

1、什麼是繼承? 答:如果說A是一個B,則我們說A繼承自B。通過繼承來實現程式碼的複用。 2、Java中如何實現繼承?  答:Java類通過extends關鍵字實現繼承,所有的類都間接或者直接繼承自Object類。 3、Java中,有繼承關係時,變數隱藏的原則?  答:子類

面向物件中的,物件的向上轉型和向下轉型

多型 首先什麼是多型? 多型就是一種事物的多種形態. 建立多型的前提需要滿足三個條件: 1.首先類與類之間要建立聯絡,即需要有繼承關係 2.子類中一定要有方法的重寫 3.最重要的是一定要有父類的指標指向子類的物件或者說父類的引用指向子類的空間 下面

java 面向物件三大特性之一:繼承

      前言:   繼承,既是對現有類的複用。如果子類繼承了父類,那麼子類就擁有了父類的能力了。除此之外,子類還能加入自己新加入的方法,功能,或是重新定義從父類繼承的某項功能。這樣,就可以在現有的功能上開發新的功能,這樣能大大減少開發的週期.|繼承的優點| 現在我們來構建