天天看點

Java 面向對象——繼承(下)

1、繼承的特性

  • 子類擁有父類非 private 的屬性、方法。
  • 子類可以擁有自己的屬性和方法,即子類可以對父類進行擴充。
  • 子類可以用自己的方式實作父類的方法。
  • Java 的繼承是單繼承,但是可以多重繼承,單繼承就是一個子類隻能繼承一個父類,多重繼承就是,例如 A 類繼承 B 類,B 類繼承 C 類,是以按照關系就是 C 類是 B 類的父類,B 類是 A 類的父類,這是 Java 繼承差別于 C++ 繼承的一個特性。
  • 提高了類之間的耦合性(繼承的缺點,耦合度高就會造成代碼之間的聯系越緊密,代碼獨立性越差)。

2、繼承關鍵字

繼承可以使用 extends 和 implements 這兩個關鍵字來實作繼承,而且所有的類都是繼承于 java.lang.Object,當一個類沒有繼承的兩個關鍵字,則預設繼承object(這個類在 java.lang 包中,是以不需要 import)祖先類。

  • extends關鍵字

在 Java 中,類的繼承是單一繼承,也就是說,一個子類隻能擁有一個父類,是以 extends 隻能繼承一個類。

public class Animal { 
    private String name;   
    private int id; 
    public Animal(String myName, String myid) { 
        //初始化屬性值
    } 
    public void eat() {  //吃東西方法的具體實作  } 
    public void sleep() { //睡覺方法的具體實作  } 
} 
 
public class Penguin  extends  Animal{ 
}
           
  • implements關鍵字

使用 implements 關鍵字可以變相的使java具有多繼承的特性,使用範圍為類繼承接口的情況,可以同時繼承多個接口(接口跟接口之間采用逗号分隔)。

public interface A {
    public void eat();
    public void sleep();
}
 
public interface B {
    public void show();
}
 
public class C implements A,B {
}
           

繼承(上):https://blog.csdn.net/hewenqing1/article/details/103477232