Java空接口小结
空接口又被称为标识接口,例如:车牌就是一类车的标识,同理空接口就是将具有相同的某些相同特征的接口归为一类,从而一个标识的作用。
部分空接口:
公共接口 Serializable {}
公共接口 Cloneable {}
公共接口 SpringProxy {}
公共接口 RawTargetAccess {}
公共接口 ThrowsAdvice 扩展 AfterAdvice {}
公共接口 AfterAdvice 扩展 Advice {}
公共接口 BeforeAdvice 扩展了 Advice {}
公共接口 EventListener {}
例如Serializable,在对象进行序列化和反序列化时串联了一个标识的作用,在进行是序列化时,ObjectOutputStream-> writeObject()->> write Object 0()方法中存在该对象是否实现Serializable接口做判断,在此处接口Serializable限制了一个标识的作用。
//其余情况
if(obj instanceof String){
writeString((String)obj , unshared);
} else if(cl.isArray()){
writeArray(obj , desc , unshared);
} if if(obj instanceof Enum){
writeEnum((Enum <?>)obj , desc , unshared);
} else if(可序列化的obj instanceof){
writeOrdinaryObject(obj , desc , unshared );
}else {
if(extendedDebugInfo){
抛出新的 NotSerializableException(
cl.getName()+ “ \ n ” + debugInfoStack .toString());
} else {
抛出新的 NotSerializableException(cl.getName());
}
}