extends是繼承,發生在類與類之間,接口與接口之間,java不能有一個類繼承多個類,一個接口可以繼承多個接口。接口中的方法都是抽象的。繼承父類,只要那個類不是聲明爲final
implements是實現,發生在類實現接口,一個類可以可以實現多個接口,抽象類是不能被實例化的,只能是被繼承,作爲子類的超類,抽象實現接口時,可以不用實現接口方法,一個普通的類如果繼承抽象類需要實現抽象類所有的抽象方法包括抽象類繼承的接口的抽象方法
接口作爲抽象方法的集合,如果一個類實現了某個接口,那麼它就繼承了接口的所有抽象方法
父類A與子類B繼承關係上的不同:
A a = new B(); 結果a是一個A類的實例,只能訪問A中的方法,那麼又和A a = new A();有什麼區別呢?
***********************************************************************************************
class B extends A
繼承過後通常會定義一些父類沒有的成員或者方法。
A a = new B();
這樣是可以的,上傳。
a是一個父類對象的實例,因而不能訪問子類B定義的新成員或方法。