作者H45 (!H45)
看板java
标题Re: [问题] 请问marker interface
时间Sun Sep 24 20:42:23 2006
※ 引述《tedhut (Ted)》之铭言:
: ※ 引述《PsMonkey (痞子军团团长)》之铭言:
: : 根据 http://www.jguru.com/faq/view.jsp?EID=224126 的解释(定义?)
: : 我不知道为什麽不能用 or 你究竟要问什麽
: 因为我也只看过那两个mark interface~
: Serializable和Cloneable~
: 他意思就是说~~mark interface啥麽都没定义~~只是做分类用~~
: 阿譬如你要用clone~~就要得先implement Cloneable~~
: 可是照理讲Cloneable应该里面啥麽都没写啊~~
: 怎麽会不implement就会错咧?
: 还是mark interface这种东西其实只是电脑在处理使用的~~
: 一般使用者不能自己写呢??
: 如果自己能写~~又该怎麽写咧?不可能里面全都是空的吧?
考虑如下的程式码
.A.java
public class A implements B {
public static void main(String argv[]) {
A obj = new A();
if (!(obj instanceof B)) {
System.err.println(obj + "doesn't implement B");
}
}
}
.B.java
public interface B {}
虽然 B 介面没有任何方法
但是 A 类别实作了 B ,所以我们可以使用 if (obj instanceof B)
来检查 A 是否实作了 B
这样就达成了 mark interface 的功能
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.115.205.85