这个接口会是1 or 2? //1 public interface UserDetails { public int hashCode(); public boolean equals(Object object); }//2 public interface UserDetails { public abstract int hashCode(); public abstract boolean equals(Object object); }
public interface UserDetails extends Serializable { public abstract Collection getAuthorities(); public abstract String getPassword(); public abstract String getUsername(); public abstract boolean isAccountNonExpired(); public abstract boolean isAccountNonLocked(); public abstract boolean isCredentialsNonExpired(); public abstract boolean isEnabled(); }
就自然有了其所有属性和方法,当有些方法是某种子类特有的时,就应该将这个方法分离出来,
以附加的形式(implements)添加进去。
为什么要搞个AbstractUser?UserDetails也是抽象类吗?
这个接口会是什么样的?
//1
public interface UserDetails {
public int hashCode();
public boolean equals(Object object);
}//2
public interface UserDetails {
public abstract int hashCode();
public abstract boolean equals(Object object);
}
接口是 对象间调用方法时 连接的桥梁
比如:
电子商城、图库、书城等消费网站 ,在你要卖货付款时 就会调用一些淘宝、银行等商户接口 ,你只需把parter、key 、订单等一些参数放到人家给你的接口就行了,到时给你返回个结果你接收就是了。至于钱是怎么打到商户账户的,你无需知道
再比如:
博客、微信分享等功能也是调用接口实现 抽象类 其实就是不完整的类,需要他的子孙们来实现他的愿望
extends Serializable
{ public abstract Collection getAuthorities(); public abstract String getPassword(); public abstract String getUsername(); public abstract boolean isAccountNonExpired(); public abstract boolean isAccountNonLocked(); public abstract boolean isCredentialsNonExpired(); public abstract boolean isEnabled();
}