日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java中接口私有反方_Java 8:在接口中声明私有和受保护的方法

發布時間:2023/12/3 java 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java中接口私有反方_Java 8:在接口中声明私有和受保护的方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

java中接口私有反方

引入Java 8時,我們可以在接口中使用默認方法。 此功能的主要驅動程序是允許接口擴展,同時保留對舊接口版本的向后兼容性。 一個示例是在現有Collection類中引入stream()方法。

有時候,當我們想引入幾種默認方法時,它們可能共享一些通用的代碼庫,因此,如果我們可以在接口中使用私有方法,那就太好了。 這樣,我們可以重用我們的代碼,還可以防止代碼暴露給正在使用或正在實現接口的類。

但有一個問題。 接口中的私有和受保護訪問被推遲到Java9。那么,今天如何在Java 8中使用私有接口方法呢?

一個簡單的解決方案

假設我們有兩個方法Foo 。 bar()和bazz()都將返回一些難以計算的結果,這些結果是從這樣的共享代碼中發出的:

public interface Foo {default int bar() {return complicatedMethodWithManyLinesOfCode();}default int bazz() {return complicatedMethodWithManyLinesOfCode() + 1;}// Will not work in Java 8 because interface methods cannot be private!private int complicatedMethodWithManyLinesOfCode() {// Actual code not shown...return 0;}}

通過引入一個包含私有方法的class ,我們可以從外部訪問“隱藏”該方法,并幾乎擺脫Java 8接口中的私有方法。 可以這樣完成:

public interface Foo {default int bar() {return Hidden.complicatedMethodWithManyLinesOfCode();}default int bazz() {return Hidden.complicatedMethodWithManyLinesOfCode() + 1;}class Hidden {private static int complicatedMethodWithManyLinesOfCode() {// Actual code not shown...return 0;}}}

從外部類或接口看不到方法Foo:complicatedMethodWithManyLinesOfCode但是可以看到Hidden類本身。 但是,如果它們是私有的,則看不到“ Hidden方法和字段。

此方案也可以應用于受保護的接口方法訪問。 從技術上講,我們可以在一個接口中擴展Hidden類,該接口還可以擴展原始接口Foo 。 請記住,受保護的方法在包中也是可見的,因此,如果我們擴展或使用同一包中的接口,則受保護的方法也是可見的(與以往一樣)。

一個缺點是隱藏方法無法訪問接口中的其他方法。 通過使隱藏的靜態方法采用接口類型的參數,可以輕松地解決后一個缺點。 假設complicatedMethodWithManyLinesOfCode方法需要Foo接口中的另一個值,該值可以通過名為buzz()某些接口方法獲得,則它可能看起來像這樣:

public interface Foo {default int bar() {return Hidden.complicatedMethodWithManyLinesOfCode(this);}default int bazz() {return Hidden.complicatedMethodWithManyLinesOfCode(this) + 1;}int buzz();class Hidden {private static int complicatedMethodWithManyLinesOfCode(Foo foo) {// Actual code not shown...return 0 + foo.buzz();}}}

翻譯自: https://www.javacodegeeks.com/2016/03/java-8-declare-private-protected-methods-interfaces.html

java中接口私有反方

總結

以上是生活随笔為你收集整理的java中接口私有反方_Java 8:在接口中声明私有和受保护的方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧洲做受高潮欧美裸体艺术 | 日韩在线一区视频 | 69精品无码成人久久久久久 | 91色交视频 | 偷拍一区二区三区 | 亚洲喷水| 免费看的黄色小视频 | 在线小视频你懂的 | 久久国产柳州莫菁门 | 爽妇综合网 | 亚洲爱色 | 欧美另类在线观看 | 亚洲区自拍 | 在线观看黄av | 女同性做爰全过程 | 丁香色欲久久久久久综合网 | 国产精品久久久久久久免费观看 | 什么网站可以看毛片 | 亚洲福利专区 | 99re热视频 | 欧美啪啪网站 | 二区国产 | 狠狠干快播 | 噜噜在线视频 | av女优天堂在线观看 | 国产欧美日韩综合精品一区二区三区 | 成人在线三级 | 香蕉在线网站 | 99久久99 | 免费观看的av网站 | 少妇性l交大片 | 国产a v一区二区三区 | 99久久综合网 | 精品一区二区三区免费毛片 | 二区三区在线视频 | 久久精品国产亚洲av成人 | 无码人妻丰满熟妇奶水区码 | 精品免费国产一区二区三区四区 | 亚洲av激情无码专区在线播放 | 国产aⅴ一区二区三区 | av免费观看大全 | 日韩性生活视频 | 国产精品高潮呻吟久久久久久 | 亚洲一区区| 成人在线免费播放视频 | 国产乱码一区二区三区 | 正在播放av| 中文字幕 国产 | 99久久精品国产亚洲 | 青青草视频黄 | 91丨九色丨蝌蚪丨对白 | 99久久久无码国产精品不卡 | 国产区在线观看 | 亚洲一区二区精品视频 | 欧美乱插 | 亚洲国产精品99久久久久久久久 | 亚洲天堂小视频 | 成人在线免费视频观看 | 国产理论在线观看 | 国产乡下妇女做爰视频 | 91久久国产综合久久91精品网站 | 日本欧美在线观看 | 久久久久噜噜噜亚洲熟女综合 | 久久怡红院 | 欧美日韩加勒比 | 亚洲va在线观看 | 69av一区二区三区 | 一级片免费网站 | 国产精品国产三级国产普通话蜜臀 | 亚洲女同志亚洲女同女播放 | 日本久久片| 先锋影音av中文字幕 | 日日射视频| 亚洲妇女无套内射精 | 日av一区 | 中文字幕久热 | 一区二区在线影院 | 一区二区三区少妇 | 中文字幕福利视频 | 亚洲人妻一区二区三区 | 日本成人一二三区 | 国产va在线 | 欧美xxxx黑人又粗又长密月 | 性色av一区二区三区在线观看 | 国产精品一区av | 久久99国产视频 | 在线观看成年人网站 | 亚洲AV无码片久久精品 | 日本国产一区二区 | 天天爽| 天堂久久精品 | 四虎影院一区 | 成人欧美精品 | 人人妻人人澡人人爽人人dvd | 精品国产18久久久久久二百 | 男生操女生网站 | 欧洲综合视频 | 在线视频网站 | 亚洲经典一区二区三区 |