日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Java中final修飾的方法是否可以被重寫示例詳解

瀏覽:207日期:2022-08-21 15:31:51

這是一次阿里面試里被問到的題目,在我的印象中,final修飾的方法是不能被子類重寫的。如果在子類中重寫final修飾的方法,在編譯階段就會提示Error。但是回答的時候還是有點心虛的,因為final變量就可以用反射的方法進行修改,我也不太確定是否有類似的機制可以繞過編譯器的限制。于是面試之后特地上網搜了下這個問題,這里簡單記錄一下。

首先說一下結論:沒有辦法能夠做到重寫一個final修飾的方法,但是有其他的方法可以接近在子類中重新實現final方法并在運行時的動態綁定的效果。

這里需要用到一個aop框架叫aspectj,它和spring aop都是比較常用的aop框架。區別是spring aop是基于動態代理的,而aspectj有獨立的編譯器可以實現靜態代理。關于aspectj的安裝配置網上有很多文章了,這里就不再贅述,直接快進到例子。

首先定義一個SuperClass并在其中定義一個final方法。

SuperClass.java

public class SuperClass { public final void doSomething() { System.out.println('super class do something'); } public static void main(String[] args) { SuperClass instance = new SubClass(); //此處是父類引用和子類對象 instance.doSomething(); }}

SubClass.java

public class SubClass extends SuperClass { //doSomething是final方法,無法被重寫}

super class do something

Process finished with exit code 0

運行main方法,SubClass繼承了doSomething方法,但是不能重寫,所以通常情況下調用的一定是SuperClass的doSomething方法。

在SubClass中實現“重寫”的doSomething方法

SubClass.java

public class SubClass extends SuperClass { //doSomething是final方法,無法被重寫 //子類只能在另一個函數中實現重寫的邏輯 protected void overrideDoSomething() { System.out.println('sub class do something'); }}

利用環繞通知修改實際調用的方法

DoSomethingAspect.aj

public aspect DoSomethingAsepct { // 環繞通知 匹配SuperClass類的doSomething方法 void around() : execution(* SuperClass.doSomething()) { if (thisJoinPoint.getThis() instanceof SubClass) { //調用子類方法 ((SubClass)thisJoinPoint.getThis()).overrideDoSomething(); } else { //調用原方法 proceed(); } }}

運行結果

sub class do something

Process finished with exit code 0

可以看到,調用SubClass的doSomething方法時實際調用的是SubClass類的overrideDoSomething方法,而如果是SuperClass對象的話調用的又是SuperClass里的doSomething方法。根據實際的類型決定調用的方法,就比較接近動態綁定的機制了。而僅從調用的代碼來看和子類重寫方法(雖然實際是final)的效果是一樣的。

總結

到此這篇關于Java中final修飾的方法是否可以被重寫的文章就介紹到這了,更多相關Java中final修飾的方法被重寫內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲欧美久久精品| 国产盗摄——sm在线视频| 视频二区不卡| 婷婷成人在线| 欧美久久精品一级c片| 国产一区日韩一区| 蜜桃成人av| 国产日韩综合| 免费在线欧美视频| 亚洲天堂日韩在线| 日韩精品91亚洲二区在线观看| 亚洲人成网站在线在线观看| 夜夜嗨av一区二区三区网站四季av| 欧美精品一区二区久久| 一本色道精品久久一区二区三区| 久久福利影视| 日韩精品视频网站| 久久免费精品| 色爱av综合网| 模特精品在线| 欧美三级第一页| 国产精品久久久久久久免费观看| 欧美日韩尤物久久| 蜜桃久久av| 国产欧美日韩在线一区二区 | 尤物tv在线精品| 久久要要av| 蜜桃视频一区二区| 国产探花一区二区| 97人人精品| 久久国产高清| 国产九一精品| 国产亚洲一区二区手机在线观看| 99视频一区| 国产毛片精品| 久久精品播放| 日韩高清二区| 中文在线中文资源| 蘑菇福利视频一区播放| 欧美日韩亚洲一区| 91亚洲国产| 精品一区在线| 欧美亚洲自偷自偷| 欧洲一区二区三区精品| 蜜臀精品久久久久久蜜臀| 牛牛精品成人免费视频| 亚洲精品99| 麻豆精品国产91久久久久久| 亚洲黄页一区| 麻豆久久一区二区| 国产精品社区| 国产一区二区三区四区五区传媒| 亚洲一区欧美二区| 美女精品一区二区| 男女性色大片免费观看一区二区| 精品视频99| 亚洲欧美日韩一区在线观看| 久久影院资源站| 三级欧美在线一区| 色爱综合网欧美| 日韩精品1区2区3区| 亚洲午夜一级| 久久精品资源| 中文字幕一区日韩精品| 欧美天堂视频| 国产精品视频一区二区三区四蜜臂| 免费久久精品| 国产一区二区三区精品在线观看| 亚洲在线久久| 91精品国产乱码久久久久久久| 国产亚洲一区二区三区啪| 日韩国产欧美| 国产麻豆精品久久| 石原莉奈在线亚洲二区| 日韩美女一区二区三区在线观看| 日韩精品视频网站| 最新日韩欧美| 日韩在线综合| 精品久久国产一区| 国产日韩欧美一区二区三区| 国产精品日韩| 天堂日韩电影| 精品国产不卡| 国产精品激情| 青青国产91久久久久久| 老牛影视一区二区三区| 欧美三级网址| 国产一区二区精品久| 国产亚洲欧美日韩精品一区二区三区| 久久成人一区| 红桃视频国产一区| 欧美特黄一级大片| 日韩电影二区| 国产精品国产一区| 另类欧美日韩国产在线| 日本aⅴ精品一区二区三区| 久久亚洲影院| 国产美女精品| 伊人精品视频| 午夜欧美精品| 国精品一区二区| 免费高潮视频95在线观看网站| 久久亚州av| 美女精品视频在线| 国产精品s色| 国产精品欧美一区二区三区不卡| 午夜精品影视国产一区在线麻豆| 丝袜美腿亚洲一区| 亚洲专区在线| 丝袜亚洲精品中文字幕一区| 日韩午夜电影| 免费日韩av片| 蜜臀av性久久久久蜜臀aⅴ流畅 | 老牛国内精品亚洲成av人片| 欧美在线看片| 国产日韩一区| 你懂的国产精品永久在线| 国产精品尤物| 国产精品2023| 久久99蜜桃| 精品欧美视频| 日韩伦理在线一区| 久久久久久黄| 宅男噜噜噜66国产日韩在线观看| 国产亚洲毛片| 中文不卡在线| 欧美天堂在线| 久久精品国产亚洲一区二区三区| 欧美精品成人| 免费看av不卡| 免费黄色成人| 免费高清在线一区| 日韩高清电影免费| 久久中文精品| 久久久久中文| 视频一区视频二区中文| 日韩精品导航| 麻豆91精品视频| 日韩在线中文| 欧美日韩国产在线一区| 亚洲婷婷丁香| 国产高清视频一区二区| 新版的欧美在线视频| 久久中文字幕二区| 美国欧美日韩国产在线播放| 奇米亚洲欧美| 理论片午夜视频在线观看| 久久亚洲国产| 亚洲一区二区免费在线观看| 国产欧美日韩亚洲一区二区三区| 精品伊人久久久| 国产一区二区中文| 婷婷综合电影| 国产精品99一区二区三| 亚洲精品成人| 国产亚洲字幕| 亚洲人成在线网站| 免费成人av在线播放| 91精品国产自产在线丝袜啪| 成人精品视频| 尹人成人综合网| 欧美日本不卡| 欧洲在线一区| 日韩欧美三区| 四季av一区二区凹凸精品| 91成人精品| 国产麻豆一区二区三区精品视频| 日韩电影免费在线观看| 亚洲一区二区动漫| 国产精品tv| 欧美日韩视频| 欧美激情福利| 在线亚洲自拍| 国产精品白丝av嫩草影院| 99视频精品全部免费在线视频| 亚洲精品欧美| 丝袜美腿一区| 欧美日韩中出| 亚洲国产一区二区在线观看 | 国产精品片aa在线观看 | 性一交一乱一区二区洋洋av| 国产精品久久久久久久久久齐齐| 欧美不卡高清一区二区三区| 自拍自偷一区二区三区| 97在线精品| 日本国产欧美| 精品一区三区| 国产第一亚洲| 天堂va在线高清一区| 88xx成人免费观看视频库| 国产日韩欧美中文在线| 日韩国产欧美一区二区| 国产精久久久| 日韩和欧美的一区| 麻豆亚洲精品| 欧美特黄一区| 99精品在线观看| 国产一区丝袜| 国产精久久久| 国产欧美日韩在线观看视频|