1. 程式人生 > >java-過載、重寫、繼承、多型

java-過載、重寫、繼承、多型

繼承是子類使用父類的方法,而多型則是父類使用子類的方法。下面的例子包含了這四種實現:
class Triangle extends Shape {
 public intgetSides() {
  return 3;
 }

}
class Rectangle extends Shape {
 public intgetSides(int i) {
  return i;
 }

}
public class Shape {
 public boolean isSharp(){
  return true;
 }
 public intgetSides(){
  return 0 ;
 }
 public int getSides(Triangle tri){
  return 3 ;
 }
 public int getSides(Rectangle rec){
  return 4 ;
 }


 public static void main(String[] args) {
  Triangletri = new Triangle();
  System.out.println("Triangle is a type of sharp? " +tri.isSharp());
  Shapeshape = new Triangle();
  System.out.println("My shape has " + shape.getSides() +" sides.");

 }
}
紅色是過載綠色是重寫藍色是繼承粉紅是多型注意Triangle類的方法是重寫,而Rectangle類的方法是過載。
比較紅色的和粉紅的部分就可以發現多型對過載的優點:如果用過載,則在父類裡要對應每一個子類都過載一個取得邊數的方法;如果用多型,則父類只提供取得邊數的介面,至於取得哪個形狀的邊數,怎樣取得,在子類裡各自實現(重寫)

相關推薦

單例模式類的繼承

一、單例模式   單例模式是一種常用的軟體設計模式,在它的核心結構中只包含一個被稱為單例的特殊類。通過單例模式可以保證系統中應用該模式的類,一個類只能有一個例項,即一個類只有一個物件例項。 Java中單例模式定義:一個類有且僅有一個例項,並且自行例項化向整個

Java基礎篇---封裝,繼承

一:面向物件 方法的形式引數是類名的時候如何呼叫 A:Java中引數傳遞問題 形式引數 基本型別:形式引數的改變不影響實際引數 引用型別:形式引數的改變直接影響實際引數 B:方法的引數是類名 如果你看到了一個方法的形式引數是一個類型別(引用型別),這裡其實需要的是

java三大特性——封裝,繼承

1、封裝   使用封裝有三大好處:          1、良好的封裝能夠減少耦合。          2、類內部的結構

java初學 面向物件二 static關鍵字 封裝繼承

static關鍵字 1:如果沒有static會怎樣? 1:定義Person類 1:姓名、年齡、國籍,說話行為 2:多個構造,過載形式體現 2:中國人的國籍都是確定的 1:國籍可以進行顯示初始化 class Person {

Java之路:類的封裝繼承

面向物件有三大特點:封裝性、繼承性和多型性。 一、封裝 1、封裝的含義 封裝 (Encapsulation)是將描述某類事物的資料與處理這些資料的函式封裝在一起,形成一個有機整體,稱為類。 類所具有的封裝性可使程式模組具有良好的獨立性與可維護性,這對大型程式的開發是特別重要的

Java面向物件與執行緒綜合實驗(一)之封裝繼承

編寫一個程式,實現檔案管理系統中的使用者管理模組。要求模組中實現使用者的模擬登入過程。通過使用者輸入,獲取使用者名稱和口令;與事先記錄在程式中的使用者資訊進行對比,通過口令驗證後才能使用系統。使用者分為系統管理人員、檔案錄入人員,檔案瀏覽人員三類,相關類圖如下所示。 (1)要求在使用者類中

Java物件和例項的關係Java資料封裝Java繼承Java抽象類和介面Java靜態欄位和方法Java包和作用域Java的classpath和jarJava核心類

Java物件和例項的關係: 面向物件程式設計(Object-Oriented Programming),是對現實世界建立計算機模型的一種方法。 class是物件的模板,它定義瞭如何建立例項,class的名字就是資料型別。一個class裡可以有多個欄位(field),欄位用

JAVA繼承》【PersonStudentEmployee類】(注:此題在書上原題基礎上有修改)設計一個名為Person的類和它的兩個名為Student和Employee子類。

題目:【Person、Student、Employee類】(注:此題在書上原題基礎上有修改)設計一個名為Person的類和它的兩個名為Student和Employee子類。 每個人都有姓名和電話號碼。學生有年級狀態(大一、大二、大三或大四)。將這些狀態定義為常

JAVA基礎之封裝繼承

封裝、繼承、多型 1、封裝:隱藏實現細節,明確標識出允許外部使用的所有成員函式和資料項,從而防止程式碼或資料被破壞。 2、繼承:子類繼承父類,擁有父類的所有功能,並且可以在父類的基礎上進行擴充套件。實現了程式碼的重用性。子類和父類是相容的。 3、多型:一個介面有多個子類或實現類,

Java核心(介面繼承-繼承2)

一、Object 類    在開始學習使用 class 關鍵字定義類時,就應用到了繼承原理,因為在 Java 中,所有的類都直接或間接繼承了 java.lang.Object 類。 Object 類是比較特殊的類,它是所有類的父類,是Java 類層中的最高層類。當建立一個類時

JAVA總結篇五(繼承以及介面的實現)

繼承、多型以及介面的實現一、繼承繼承是一種聯結類的層次模式;在JAVA中一個類只能繼承一個類,這便是所謂的單一繼承;但一個類可以被多個類繼承,也就是說一個類可以有多個子類。通過使用extends使用;格式如下:public +class+類名+extends+父類名+{類體}

Java核心(介面繼承-)

一、多型    利用多型可以使程式具有良好的擴充套件性,並可以對所有類物件進行通用的處理。    eg :定義一個平行四邊形的類 Parallelogram ,在類中頂一個 draw() 方法。public class Parallelogram{     //例項化儲存平行

java繼承介面小結

詳細程式碼自己找自己敲,以下會不定時更新。 一個檔案中只能有一個公共類 java的繼承只能是單繼承。 一個類之所以能夠呼叫父類成員,是由於java編譯器會自動為子類新增一個引用名為super的父類成員物件。建立子類物件的過程就是從底層的基類往上,一層層地來

java之 ------ 類的封裝繼承(二)

問題:宣告銀行賬戶類,成員變數包括賬號、儲戶姓名、開啟時間、身份證號碼、存款餘額等賬戶資訊,成員方法包括開戶、存款、取款、查詢(餘額、明細)、銷戶等操作。 主要成員描述如下 public class Account { //

Java的介面繼承

介面 java只支援單繼承,即一個類只能有一個父類,因此需要介面來實現多重繼承。 介面的定義 類和介面的區別:一個類通過繼承介面的方式,從而來繼承介面的抽象方法。類描述物件的屬性和方法,介面則包含類要實現的方法。 介面的宣告語法方式: <span style="

Java面向物件程式設計的知識點(封裝繼承)進行總結

一 封裝 1.面向物件的高階:優化程式設計    封裝:      類中如何定義成員變數?       private   int  num;      概念      語法        3步驟    繼承:減少冗餘程式碼       繼承:一個類(子類)繼承另一個類(父

Java面向對象(繼承抽象類)

調用父類 找到 如何 包含 抽取 代碼 創建對象 編號 間接 面向對象 今日內容介紹 u 繼承 u 抽象類 第1章 繼承 1.1 繼承的概念 在現實生活中,繼承一般指的是子女繼承父輩的財產。在程序中,繼承描述的是事物之間的所屬關系,通過繼承可以使多種事物之間形成一種關系體

第9課:備份mysql數據庫重寫父類unittest框架線程

.sql 普通 解鎖 info root size print add AC 1. 寫代碼備份mysql數據庫:  1)Linux下,備份mysql數據庫,在shell下執行命令:mysqldump -uroot -p123456 -A >db_bak.sql即可

再談面向物件中的封裝繼承

封裝 封裝說的是把資料封裝起來,對外暴露一個可以訪問的介面,不能讓外界直接訪問內部的資料。 從上面的描述可以抽取出兩種型別:介面和類。 從現在比較火的微服務的觀點上來看,一個類就是一個服務,一個物件就是一個服務的例項,通過這個服務暴露的介面來訪問這個服務。從這個意義上來講,面向

第10章 介面繼承

10.1 package tex; public abstract class one { abstract void test(); public static void main(String args[]) { new one(); } } //無法例項化 10.2 p