Java面向物件----繼承概念,super關鍵字
阿新 • • 發佈:2018-11-11
繼承概念:
繼承需要符合的關係 is-a , 父類通用更抽象,子類更特殊更具體
類之間的關係
- 繼承體現
- 組合體現
- 實現介面體現
繼承的意義
程式碼重用
體現不同抽象層次
extends關鍵字
Super關鍵字
代表的是父類的物件的引用
package com.tanlei.newer; public class TeachersDemo { public static void main(String[] args) { B b=new B(); b.showB(); } } class A{ public A() { System.out.println("a的構造方法"); } public void showA() { System.out.println("A"); } } class B extends A{ public B() { super();//呼叫父類無參的構造方法,可以省掉System.out.println("b的構造方法"); } public void showB() { System.out.println("B");
showA();//super.showA();
} }
方法重寫(override)
相同名稱,引數列表相同,返回值相同
final關鍵字
變數用了就是常量(常量一般和static共用)
final修飾了類的話不能被繼承
final修飾了方法不能被重寫
package com.tanlei.newer; public class FinalDemo { public static void main(String[] args) { AA aa=new AA(); aa.shownum1(); aa.shownum2(); BB bb=new BB(); bb.shownum2(); } } //常量類是不能被繼承的,final用在引用變數上,代表此引用變數,只能引用一開始所引用的物件,中途不能改變指向/*final*/ class AA{ public final int number1=1; public final int number2=2; public void shownum1() { //number1++;//常量是不能被修改的 System.out.println(number1); } //子類不能對父類中的常量方法重寫 public /*final*/ void shownum2() { System.out.println(number2); } } class BB extends AA{ public void shownum2() { System.out.println(number2); } }