IT培訓(xùn)網(wǎng)
IT在線學(xué)習(xí)
Java是一門面向?qū)ο蟮恼Z言,面向?qū)ο蟮闹饕攸c有封裝,繼承,多態(tài)
封裝,意思就是把類的一些屬性進行封裝(“隱藏”),盡可能的避免直接訪問對象一些屬性,以保證其安全性,如果必須要訪問這些屬性,我們可以單獨的提供一些接口(共有方法)進行訪問,這樣我們就可以避免因為直接訪問屬性信息造成的誤操作。
繼承,在我們的生活中也有很多的繼承關(guān)系,比如子承父業(yè),在Java中,我們也可以有繼承的概念,但是繼承只存在于父子類(接口)中,比如我們經(jīng)常說的Dog類繼承于Animal類,動物類Animal具有自己的一些屬性,Dog屬于Animal的一種,所以具有Animal的一些屬性,但是Dog也有自己的一些特定屬性,這時候如果我們單獨在重新創(chuàng)建一個類Dog,就需要重新寫一遍Animal類的屬性,既費時又不好維護,這時候我們就可以使用繼承,使用Dog類繼承Animal類,這時候,Dog就包含了Animal類的一些屬性,就不需要我們多次重復(fù)寫這些屬性了。
多態(tài),即對于同一個對象,可能執(zhí)行出不同的結(jié)果,比如上面的Animal類,我們創(chuàng)建他的兩個子類,分別為Dog和Cat,Animal有個方法叫做public void jiaoSheng() { System.out.println( “動物叫聲” ) ; } 兩個子類分別重寫了這個方法,實現(xiàn)形式Dog:public void jiaoSheng() { System.out.pringln( “狗叫聲” ) ; }, Cat: public void jiaoSheng() { System.out.println( “貓叫聲” ) ; },這時候我們可以創(chuàng)建一個Animal對象 animal = new Animal( );這時候我們調(diào)用animal.jiaoSheng() ;打印出 “動物叫聲”;當animal = new Dog( ) ;的時候,我們調(diào)用animal.jiaoSheng() ; 打印出 “狗叫聲”;當 animal = new Cat() ;的時候,我們調(diào)用animal.jiaoSheng() ; 打印出“貓叫聲”;對于同一個對象animal我們調(diào)用同一個方法的時候,打印出的結(jié)果是不相同的,利用多態(tài),我們就可以進行很多的擴展,而不需要過多的去修改原先的代碼,可以保證代碼的可維護性;從上面我們可以看得出來,如果要有多態(tài),需要滿足三個條件,第一個繼承(或?qū)崿F(xiàn)接口),第二個重寫,也就是需要重寫父類里面的方法,否則不會實現(xiàn)多態(tài),對象調(diào)用的還是父類的方法,第三個父類引用指向子類對象,就像上面的animal他是一個Animal類的對象,但我們new的時候,創(chuàng)建的是子類Dog和Cat類的兩個對象;
以下為源碼示例:
public class Animal{
public void jiaoSheng() {
System.out.println(“動物叫聲”);
}
}
public class Dog extends Animal{
@Override
public void jiaoSheng() {
System.out.println(“狗叫聲”);
}
}
public class Cat extends Animal{
@Override
public void jiaoSheng() {
System.out.println(“貓叫聲”);
}
}
>>本文地址:http://www.yceu.cn/zhuanye/2020/49115.html
聲明:本站稿件版權(quán)均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
1 您的年齡
2 您的學(xué)歷
3 您更想做哪個方向的工作?