抽象類和接口:
接口是公開的,裏面不能有私有的方法或變量,是用於讓別人使用的,而抽象類是可以有私有方法或私有變量的,
另外,實現接口的一定要實現接口裏定義的所有方法,而實現抽象類可以有選擇地重寫需要用到的方法,一般的應用裏,最頂級的是接口,然後是抽象類實現接口,最後纔到具體類實現。還有,接口可以實現多重繼承,而一個類只能繼承一個超類,但可以通過繼承多個接口實現多重繼承,接口還有標識(裏面沒有任何方法,如Remote接口)和數據共享(裏面的變量全是常量)的作用.
如果是抽象類實現一個接口,那麼抽象類中可以不具體實現接口的方法(保持其抽象性),而由其子類去實現。
多態有3個條件
1:繼承2:重寫(重寫父類繼承的方法)
3:父類引用指向字類對象
實際上這裏涉及方法調用的優先問題 ,優先級由高到低依次爲:this.show(O)、super.show(O)、this.show((super)O)、super.show((super)O)。
參考 http://blog.csdn.net/thinkGhoster/article/details/2307001