標籤:static [] 傳回值 serve 重寫 main 機制 調用 sys
1,繼承
Java 中通過 extends 關鍵字可以繼承一個類,implements可以繼承多個介面。繼承允許建立等級層次的類。
繼承的機制提高了代碼的複用性,讓類與類之間產生了關係,有了這個關係,才有了多態的特性。
註:Java支援單繼承,但是可以多層繼承。
子類可以擁有父類的非private的方法和屬性,子類可以繼承父類的方法,也可以重寫父類的方法,還可以對父進行拓展。
增加了類之間的聯絡,即提高了耦合。
一般格式為:
class 父類 { }
class 子類 extends 父類 { }
Demo1:
1 package com.hpioneer.Demo; 2 3 public class Test_Extends { 4 public static void main(String[] args) { 5 Zi z = new Zi(); 6 //z.show(); 7 } 8 } 9 class Fu {10 static {11 System.out.println("靜態代碼塊Fu");12 }13 14 {15 System.out.println("構造代碼塊Fu");16 }17 18 public Fu() {19 System.out.println("構造方法Fu");20 }21 }22 23 class Zi extends Fu {24 static {25 System.out.println("靜態代碼塊Zi");26 }27 28 {29 System.out.println("構造代碼塊Zi");30 }31 32 public Zi() {33 System.out.println("構造方法Zi");34 }35 }
Demo2:
super關鍵字可以用來實現對父類成員的訪問,來引用當前對象的父類。this關鍵字用於指向自己。
super可以調用父類的構造方法,方法(和子類相同的,被重寫)
1 class Animal { 2 void eat() { 3 System.out.println("animal : eat"); 4 } 5 } 6 7 class Dog extends Animal { 8 void eat() { 9 System.out.println("dog : eat");10 }11 void eatTest() {12 this.eat(); // this 調用自己的方法13 super.eat(); // super 調用父類方法14 }15 }16 17 public class Test {18 public static void main(String[] args) {19 Animal a = new Animal();20 a.eat();21 Dog d = new Dog();22 d.eatTest();23 }24 }
2,重載(Override)和重寫(Overload)
重寫是對父類允許的方法的實現重新編寫,傳回值和參數都不能改變。
重載是一個類裡面,方法名相同,參數不同,傳回值類型也可以不同。
Java物件導向,繼承,多態