JAVA类的继承、覆写和final关键字
生活随笔
收集整理的這篇文章主要介紹了
JAVA类的继承、覆写和final关键字
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
extends不用多說(shuō),是來(lái)繼承的關(guān)鍵字,但它有幾個(gè)要點(diǎn):
JAVA繼承方法總結(jié)
重寫(xiě)方法的時(shí)候,要注意方法的權(quán)限,返回值,以及參數(shù)部分一致
class txxx {public void func(int i){System.out.println("Parent::func()");} }class Derived extends txxx {public void func(int i) //覆寫(xiě)父類的func方法{System.out.println("Derived::func()");} }public class AT{public static void main(String args[]){Derived d = new Derived();d.func(1);} }如果派生類覆寫(xiě)的基類方法是private的,則不能實(shí)現(xiàn)覆寫(xiě)功能,因?yàn)榛惖膒rivate方法是不可見(jiàn)的,派生類覆寫(xiě)方法,一般用于基類的方法不滿足當(dāng)前派生類功能實(shí)現(xiàn)時(shí),才會(huì)去覆寫(xiě).
class Parent {public void func(){System.out.println("Parent::func()");}public void print(){func();} }class Derived extends Parent {public void func() //覆寫(xiě)父類的func方法{System.out.println("Derived::func()");} }public class Test{public static void main(String args[]){Derived d = new Derived();d.print();} }如果將public void func()改為private void func()的話,則無(wú)法實(shí)現(xiàn)覆寫(xiě)
當(dāng)在某個(gè)類的方法前面定義final時(shí),則表示該方法不允許在子類里進(jìn)行方法覆寫(xiě)(可以實(shí)現(xiàn)方法重載)
在java中,final被稱為終結(jié)器, final可以修飾變量,方法和類.
class A {public final void fun() {} //此方法不允許子類覆寫(xiě)public void fun(int i) {} //可以實(shí)現(xiàn)方法重載 }class B extends A {public void fun() {} // 錯(cuò)誤:此處不允許覆寫(xiě) }就是有final了,你就不能在子類里面覆寫(xiě)了
總結(jié)
以上是生活随笔為你收集整理的JAVA类的继承、覆写和final关键字的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 房屋租赁备案委托书(租赁备案委托书)
- 下一篇: 数字电路知识点杂谈(自用,其他人看不懂)