為什么這些java接口沒有抽象方法?淺談Java標(biāo)記接口
在jdk的源碼中,存在這樣的一些接口,他們不包含任何的(抽象)方法,但是卻廣泛的存在。
這種接口我們稱之為Mark Interface,也就是標(biāo)記接口。
這些接口呢,我們不用來實(shí)現(xiàn)任何的方法,他們的作用就是當(dāng)某個(gè)類實(shí)現(xiàn)這個(gè)接口的時(shí)候,我們就認(rèn)為這個(gè)類擁有了這個(gè)接口標(biāo)記的某種功能了。
下面通過三個(gè)例子,分別介紹java中常用的三個(gè)標(biāo)記接口:
RandomAccess 、Cloneable、java.io.Serializable
(1)RandomAccess
在C#中經(jīng)常會(huì)有很多人在爭論,在遍歷集合時(shí),到底是應(yīng)該用for還是用foreach。
在Java中,卻完全不用再糾結(jié)這個(gè)問題:
java中有這樣一個(gè)接口
1 public interface