1. 程式人生 > >Java-繼承之定義格式及注意事項

Java-繼承之定義格式及注意事項

繼承

  • 繼承定義
    多個類中存在相同屬性和行為時,將這些內容抽取到單獨一個類中那麼多個類無需再定義這些屬性和行為,只要繼承那個類即可。
    就比說動物,狗是動物,貓是動物,大熊貓也是動物,他們都有名字,都有年齡,愛好等等,即就是,動物的屬性和行為,小動物們都有。

  • 繼承的格式,
    通過extends關鍵字可以實現類與類的繼承 class 子類名 extends 父類名 {}
    單獨的這個類稱為父類,基類或者超類;這多個類可以稱為子類或者派生類。
    繼承不僅提高了程式碼的複用性,而且提高了程式碼的維護性,不用再去定義單獨類,找到共性即可。
    需要注意的是類和類之間的關係,是多型的前提
    繼承也有弊端:類的耦合性增強(耦合性是指類和類之間的關係)
    在程式開發的過程中,要求高內聚,低耦合,類和類之間的關係如果太多,修改起來就意味著每一個都會修改。

//People類
public class People {

    public String name;
    public int age;
    private String interest;

    public void talk() {
        System.out.println("父類的非私有方法");

    }

    private void show(){
        System.out.println("父類的私有方法");
    }

}


//學生類
public class Student extends People{

}

//測試類
Student student = new Student(); student.age=20; student.name="周杰倫"; student.talk();//父類的非私有方法 //student.show(); 調不到 因為是父類私有的方法 System.out.println(student.age);//20 System.out.println(student.name);//周杰倫
  • 繼承僅支援單繼承,不支援多繼承

     例如 class Student extends People,School,Person--這是不允許的。
    
     但是Java支援多層繼承,例如動物<-貓<-折耳貓  
    
      class Cat extends Animal
      class ZheErCat extends Cat 
    
  • 繼承注意事項:
    子類只能繼承父類非私有的成員變數和成員方法。
    子類不能繼承父類的構造方法,但是可以通過super()去呼叫父類的構造方法。

        Student student2 = new Student();
        student2.interest;//報錯,調不到
        student2.show();//報錯,也調不到
        //這就說明了父類私有的東西子類無法繼承
  • 會遇見這樣一種情況,子類中的成員變數和父類中的成員變數名稱一樣,遇見這種情況,系統會採用“就近原則”。

//動物父類
public class Animal {
    String name="父類名字";
}

//狗 子類

public class Dog extends Animal{

    String name="子類名字";

    public void show(String tname){
        System.out.println("方法中");
        System.out.println(name);
    }

}

//測試類1

// a: 在子類的方法的區域性範圍找,有就使用

        Dog dog = new Dog();
        dog.show("菜花");
        System.out.println(dog.name);

        /*答案:方法中 子類名字 子類名字*/

//如果狗這個子類變成如下情況:

public class Dog extends Animal{

    String name="子類名字";
}

//測試類2

// b: 在子類的成員範圍找,有就使用

        Dog dog2 = new Dog();
        System.out.println(dog2.name);//子類名字

//如果狗這個子類變成如下情況:

public class Dog extends Animal{
}

//測試類3

// c: 在父類的成員範圍找,有就使用

        Dog dog3 = new Dog();
        System.out.println(dog3.name);//父類名字

// d:如果還找不到,就報錯

相關推薦

Java-繼承定義格式注意事項

繼承 繼承定義 多個類中存在相同屬性和行為時,將這些內容抽取到單獨一個類中那麼多個類無需再定義這些屬性和行為,只要繼承那個類即可。 就比說動物,狗是動物,貓是動物,大熊貓也是動物,他們都有名字,都有年齡,愛好等等,即就是,動物的屬性和行為

java定義函式的格式注意事項

修飾符   返回的型別  函式名(引數型別  形式引數1,引數型別  形式引數2,......){              執行語句;              return   返回值;}特殊情況:  功能沒有具體的返回值;注意事項:  如果返回值型別是void,那麼函式

elasticsearch(五)java 使用批量操作bulk注意事項

1,BulkRequest物件可以用來在一次請求中,執行多個索引、更新或刪除操作     且允許在一次請求中進行不同的操作,即一次請求中索引、更新、刪除操作可以同時存在 BulkRequest bulkRequest = new BulkRequest(); bulk

SQL程式設計高階查詢注意事項

1.什麼是子查詢? 當一個查詢是另一個查詢的條件時,稱之為子查詢。子查 詢可以使用幾個簡單命令構造功能強大的複合命令。子查詢最常用於SELECT-SQL命令的 WHERE子句中。子查詢是一個 SELECT 語句,它巢狀在一個 SELECT、SELECT...INTO 語句、INSERT...INTO 語句、

java 陣列的定義格式特點

class FunctionDemo {     /* 陣列的定義     1、同一種資料型別的集合,其實陣列就是一個容器     2、可以自動給陣列中的元素從0開始自動編號,方便操作這些元素     3、陣列格式:     資料型別[] 陣列名 = new 元素型別[元

java中方法的過載注意事項

/*方法的過載特性(overload)在同一個類中,允許出現同名的方法,只要方法的引數列表不同即可,這就是方法的過載引數列表不同:引數個數不同,資料型別不同,順序不同方法過載的注意事項1.引數列表必須相同2.過載和引數變數名無關3.過載和返回值型別無關4.過載和修飾符無關技巧

Java遞迴的使用注意事項

1.遞迴是一種常見的解決問題的方法,即把問題逐漸簡單化。遞迴的基本思想是“自己呼叫自己”,一個使用遞迴技術的方法將會直接或間接呼叫自己。 2.遞迴結構包括兩個部分: ——定義遞迴頭。解答:什麼時候不呼

Linux(Centos)安裝Java JDK注意事項

一 下載官網下載地址 http://www.oracle.com/technetwork/java/javase/archive-139210.html通過wget下載 例如(一定要帶後面的引數) wget http://www.oracle.com/technetwor

Java學習筆記二十二】解析接口在Java繼承中的用法實例分析

ani 復制代碼 ads compute 現在 target body 常量 實現接口 一、定義 Java接口(Interface),是一系列方法的聲明,是一些方法特征的集合,一個接口只有方法的特征沒有方法的實現,因此這些方法可以在不同的地方被不同的類實現,而這些實現可以具

實戰Java高併發程式設計(四、鎖的優化注意事項

在多核時代,使用多執行緒可以明顯地提升系統的效能。但事實上,使用多執行緒會額外增加系統的開銷。對於單任務或單執行緒的應用來說,其主要資源消耗在任務本身。對於多執行緒來說,系統除了處理功能需求外,還需要維護多執行緒環境特有的資訊,如執行緒本身的元資料,執行緒的排程,執行緒上下文的切換等。 4.1有

keepalived檢測指令碼的編輯格式注意事項

vrrp_script check_ng { script " /etc/keepalived/check_nginx.sh " interval 2 } vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priorit

gstreamerRTSP Server編譯注意事項

下載 下載網址 下載哪個版本?這個要跟自己的gstreamer配套(小於等於)。比如吾gstreamer版本是1.8.3,雖然最新的是1.14.4,吾必須下載1.8.3。否則編譯會報錯: configure: Requested 'gstreamer-1.0 >=

mysql資料庫備份mysqldump備份原理注意事項

關於MySQL熱備,可分為兩種方式: 邏輯備份 物理備份 對於前者,常用的工具是MySQL自帶的mysqldump,對於後者,常用的工具是Percona提供的XtraBackup。 對於規模比較小,業務並不繁忙的資料庫,一般都是選擇mysqldump。 那麼,mysqldump的

Java中String轉Long方式注意事項

字串轉Long:       Long.ValueOf(String); 返回Long包裝類      Long.parseLong(String); 返回long基本資料型別 注意事項: 1.字串內不能包含除數字之外的字元    不然會報錯,java.lan

Java中從鍵盤錄入的三種方式注意事項

1、從控制檯接收一個字元 此方法只能獲取一個字元,不能獲取其他資料型別,一般不會使用 2、從控制檯接收一個字串 這種方法只能從控制檯接收字串,而無法接收其他資料型別,如果想接收其他資料型別,要對其進行轉換: int num = Integ

JavaScriptES6中解構原理注意事項(陣列和物件)

//ES6中的解構原理(常用型別):   //陣列解構: //陣列的元素是按次序排列的,變數的取值由它的位置決定; let [a,b,c] = [1,2,3]; console.log(a,b,c) //結果為: 1,2,3;   //物件解構變數同名(

Java 變數定義的時候注意事項

一、常量定義的基本注意事項。 在Java語言中,主要是利用final關鍵字(在Java類中靈活使用Static關鍵字)來定義常量。 當常量被設定後,一般情況下就不允許再進行更改。如可以利用如下的形式來定義一個常量:final double PI=3.1315。 在定義這個常量時,需要注意如下內容:   一

cocos2d-x遊戲引擎核心多執行緒分析注意事項

一、多執行緒原理 (1)單執行緒的尷尬   重新回顧下 Cocos2d-x 的並行機制。引擎內部實現了一個龐大的主迴圈,在每幀之間更新各個精靈的狀態、執行動作、呼叫定時函式等,這些操作之間可以保證嚴格獨立,互不干擾。不得不說,這是一個非常巧妙的機制,它

java基礎】abstract抽象類、方法的特點注意事項

摘要:本文引自畢老師Java程式碼。 /* 抽象類: 抽象:籠統,模糊,看不懂!不具體。 特點: 1,方法只有宣告沒有實現時,該方法就是抽象方法,需要被abstract修飾。 抽象方法必須定義在抽象類中。該類必須也被abstract修飾。 2,抽象類不可以被例項化。

JAXB的應用二---------Xml與多個物件的對映(聚合或組合)注意事項

   在我們的實際應用中,Xml中的結構往往不止這麼簡單,一般都會有2,3層。也就是說如果對映成物件就是聚合(組合)的情況 。 就用我們上一章的例子繼續來講,簡單我們的Book的author現在不止是一個String型別的名子,他是一個物件Author,幷包含作者的相關個人