抽象類和接口的差別:(面試題)
A:成員差別
抽象類:
成員變量:可以變量,也可以常量
構造方法:有。
成員方法:可以抽象,也可以非抽象
接口:
成員變量:隻可以常量
成員方法:隻可以抽象
B:關系差別
類與類
繼承關系,可以單繼承,也可以多層繼承
類與接口
實作關系,可以單實作,也可以多實作
接口與接口
繼承關系,可以單繼承,也可以多繼承
C:設計理念差別
抽象類
被繼承展現的是:"is a"的關系。抽象類中定義的是該繼承體系的共性功能。("is a" = 什麼是什麼)
例:狗是動物
接口:
被實作展現的是:"like a"的關系。接口中定義的是該繼承體系的擴充功能。("like a" = 什麼象什麼。它本身并不具備,但是随着什麼什麼發展添加了新東西,這叫接口[相當與電腦上的usb接口,隻要按照接口來,就能連接配接])