設(shè)計排版優(yōu)秀網(wǎng)站汽車網(wǎng)絡(luò)營銷的方式有哪些
面向?qū)ο笙盗兴?/strong>
一、抽象方法
二、抽象類
三、意義檢查
1.抽象方法的意義
2.意義檢查
體現(xiàn)
四、接口
1.級別層次
2.接口變量
3.意義
4.成員
成員變量:
成員方法:
一、抽象方法
沒有方法體即沒有任何實現(xiàn)的方法是抽象方法,只有在抽象類中才有更多的允許,允許上這種方法的存在,所以抽象方法只能存在于抽象類中,但一個抽象類不是一定就有抽象方法的,它只是允許
- 抽象方法在將來被使用時一定是被重寫的,所以它一定是非靜態(tài)的、不能被final、private修飾的
二、抽象類
抽象類是允許抽象方法存在的類,所以是不能直接對著抽象類類變量創(chuàng)似復(fù)刻變量,但可通過作為父類繼承于子類,對著子類類變量創(chuàng)建似復(fù)刻變量來間接創(chuàng)上有父類抽象類類變量的似復(fù)刻變量,抽象類與普通類相比,只是多了層里面抽象方法的存在允可,但也因此失去了對著其直接創(chuàng)似復(fù)刻變量直接實例化的能力,其它的與普通類都一樣(它也有構(gòu)造方法但構(gòu)造方法的調(diào)用都是在間接實例化創(chuàng)似復(fù)刻變量時調(diào)用的,直接實例化創(chuàng)似復(fù)刻變量無)
三、意義檢查
1.抽象方法的意義
抽象方法就是為了解決被重寫方法方法體內(nèi)容無效就不需要存在而去省略,達到的代碼簡潔與同時加上了編譯器本達不到的為重寫目的的編譯檢查
2.意義檢查
編譯器對無方法體的方法有嚴格的意義檢查,因為它本身的實現(xiàn)是無意義的,唯一有意義的地方就在于重寫,如果在將來無方法體的抽象方法在去使用時一旦沒達到重寫的效果,編譯器的檢查就會對它報錯,因為它的存在無意義且被捕捉到了(編譯器一直對抽象方法有監(jiān)視)
體現(xiàn)
- 在上面的實例化時無法直接創(chuàng)建含有抽象方法的類變量的似復(fù)刻變量也是意義檢查下的體現(xiàn),不能對它直接實例化的原因是因為直接實例化無意義,而被繼承創(chuàng)子類時,間接實例化創(chuàng)有子類類變量的似復(fù)刻變量可對它向上轉(zhuǎn)型實現(xiàn)方法重寫的間接實例化有意義而被允許
- 創(chuàng)建抽象方法、創(chuàng)建抽象類來允許存放下抽象方法編譯器允許它們存在的意義也就是為了能實現(xiàn)抽象方法的代碼簡潔與重寫檢查這些好處的意義,當(dāng)抽象方法所在的抽象類被繼承時,抽象方法就開始在可被使用范圍了,如果此時抽象方法沒有在父類被繼承下被重寫,編譯器會對其無意義的報錯提示
所以編譯器都是在有規(guī)定意義的檢查下進行的(編譯器意義檢查的這些意義都是有先已規(guī)定確定下來的供檢查用的)
四、接口
1.級別層次
接口與類是同級別同層次的:
- 接口類型與類類型同級別同層次,接口類型interface創(chuàng)建接口變量、類類型class創(chuàng)建類變量
- 接口變量與類變量也是同級別同層次的
2.接口變量
接口變量是抽象類類變量的抽象升級版?:
相同點:
- 接口變量與抽象類類變量一樣都有加層抽象成員的存在允可但不一定就一定有抽象成員的,與抽象類一樣,在這層抽象成員存在允可下它不能被直接實例化直接創(chuàng)似復(fù)刻變量,接口變量實例化創(chuàng)它的似復(fù)刻變量也是只能通過間接來實例化
不同點:
- 與抽象類類變量不同的是,接口類變量內(nèi)部不能有代碼塊、構(gòu)造方法,因為它的成員變量有的話只有靜態(tài)常量,而靜態(tài)常量是不能被修改的
(代碼塊、構(gòu)造方法是主要目的是用來對成員變量進行賦值的,如果一個類已明確它的成員變量是不能被修改再賦值的,里面再來構(gòu)造方法、代碼塊就是無意義的)
3.意義
接口變量存在時的有意義是準備當(dāng)作接口的有意義,被使用時的有意義是里面所有的抽象方法都有接口當(dāng)作父類被繼承被都被重寫的有意義
4.成員
成員變量:
成員變量有都被static final隱式補全修飾,接口里的變量都是靜態(tài)變量變成的靜態(tài)常量,都必須都要初始化
成員方法:
- 無方法體的抽象方法都有被abstract隱式補全修飾(抽象方法都是非靜態(tài)的)
- 可自己加static寫非抽象有實現(xiàn)的靜態(tài)方法
- 可自己加default寫非抽象有實現(xiàn)的非靜態(tài)方法
隱式補全修飾:
接口變量里所有成員的訪問權(quán)限是public且都有被public隱式補全修飾
(變量主體的所有部分、方法主體的所有部分都不會有自動補全都必須寫完整,只有那些訪問修飾符、狀態(tài)修飾符、final、abstract這些修飾符有出現(xiàn)默認修飾自動補全不用寫默認有修飾的情況)