谁能举些例子?
声明类型的工作仍然由Java接口承担,但是同时给出一个Java 抽象类,且实现了这个接口,而其他同属于这个抽象类型的具体类可以选择实现这个Java接口,也可以选择继承这个抽象类,也就是说在层次结构中,Java 接口在最上面,然后紧跟着抽象类,哈,这下两个的最大优点都能发挥到极至了。这个模式就是“缺省适配模式”。 在Java语言API中用了这种模式,而且全都遵循一定的命名规范:Abstract +接口名。
------解决方案--------------------
抽象类等于集合了普通类和接口
接口中只能申明方法。
至于例子百度吧。
------解决方案--------------------
最显而易见的区别:抽象类里面的方法既可以是抽象的又可以是实现了的,而接口里面只能放方法的申明。
一个简单的举例,抽象类相当于一份菜谱,里面说明了该具体怎么炒菜,放多少作料;
接口相当于菜名,只是规定了那个菜的名称,到底该怎么炒,随便你;
明白了吗?
------解决方案--------------------
Java抽象类和接口的理解
------解决方案--------------------
package com.shadow.system.base.mvc;
import java.util.Collection;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.userdetails.UserDetails;
/**
* 安全用户实体
*
* @author shadow
*
*/
@SuppressWarnings("serial")
public abstract class AbstractUser implements UserDetails {
// ===========以下属性为安全架构属性===========
private String username; // 账号
private String password; // 密码
private boolean accountNonExpired = true; // 账号是否过期
private boolean accountNonLocked = true; // 账号是否锁定
private boolean credentialsNonExpired = true; //
private boolean enabled = true; // 是否可用
private Collection<? extends GrantedAuthority> authorities; // 权限集合
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {