Android原生相機(jī)Camera2里CameraActivity 是如何跟界面設(shè)置關(guān)聯(lián)起來(lái)的?
一、JAVA基礎(chǔ)知識(shí)
內(nèi)部接口:嵌套類可以直接調(diào)用嗎?可以不引用父類來(lái)調(diào)用嗎?
? ? ? ? ? ? ? ? ? ? ?為什么使用嵌套接口?嵌套接口的作用?
? Inner Interface是指在接口中定義的接口。最常見的就是Map中的Entry了:
? public interface Map<K, V> {
? ? interface Entry<K, V> {
? ? ? ? K getKey();
? ? }
這里的內(nèi)部接口一定是static的,因?yàn)榻涌谑遣荒軐?shí)例化的,所以為了訪問(wèn)到接口中的接口,必須定義為static。如果不指定,則默認(rèn)就是static。 大家只要把內(nèi)部的類或者接口看成一個(gè)變量,就可以很好的理解上面的內(nèi)容了。?
? ?https://zhuanlan.zhihu.com/p/139353541
? ?https://blog.csdn.net/yaomingyang/article/details/79308562
? ?https://cloud.tencent.com/developer/article/1585264
在 Java 類庫(kù)中一個(gè)典型的嵌套接口的例子是 java.util.Map 以及 Java.util.Map.Entry。
java.util.Map在這里也起到了命名空間的作用。關(guān)于命名空間詳細(xì)點(diǎn)說(shuō)就是如果這個(gè) Entry??
不做為 Map 接口的一個(gè)內(nèi)部接口,那么為了說(shuō)明這個(gè)接口是用于 Map 的實(shí)現(xiàn)的一部分,
就應(yīng)該取名為 MapEntry。那么對(duì)于企業(yè)級(jí)別的框架設(shè)計(jì)而言,這將會(huì)有非常多的 MapEntry。
一般用戶卻不需要實(shí)現(xiàn)這些接口,但是這些接口卻和 Map 這些可能被用戶實(shí)現(xiàn)的接口在同一級(jí)別上,不利于閱讀。??
?java.util.Map??
?Java.util.Map.Entry
?Map是java.util中的接口,Map.Entry是Map的一個(gè)內(nèi)部接口。
二、實(shí)踐,Android原生相機(jī)Camera2里CameraActivity 是如何調(diào)用 EIS.java的?
