接口与抽象类:
(1)只能定义方法名,不包含实现方法的内容。
(2)可以像接口那样只定义方法名,并且可以方法中包含实现的方法。
使用:用抽象类(可以是多个)实现接口定义的方法,然后让其它类继承。
通常接口的作用在于使整个项目结构清晰,方便管理。
注意:抽象類不能夠通過new
直接實例化的
相当详细的例子:
接口:
package eudcation.interfaceCls;
import java.util.Date;
public interface IUser {
/**
* 得到数据库名称ID
*/
public Long getId();
/**
*设置数据库ID
*/
public void setId(Long id);
/**
* 得到用户名
*/
public String getUserId();
/**
* 设置用户名
*/
public void setUserId(String userId);
/**
* 得到密码
*/
public String getPassword();
/**
* 设置密码
*/
public void setPassword(String password);
/**
* 得到用户姓名
*/
public String getName();
/**
* 设置用户姓名
*/
public void setName(String name);
/**
* 的到最后登陆时间
*/
public Date getLatestOnline();
/**
* 设置最后登陆时间
*/
public void setLatestOnline(Date date);
}
抽象类:主要用于实现上面接口定义的方法
package eudcation.interfaceCls;
import java.util.Date;
abstract class AbstractUser implements IUser {
private Long id; //数据库ID
private String userId; //用户名
private String password; //密码
private String name; //姓名
private Date latestOnline;//最后登陆时间
/********一下为接口IUser的实现方法***********/
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Date getLatestOnline() {
return latestOnline;
}
public void setLatestOnline(Date latestOnline) {
this.latestOnline = latestOnline;
}
}
其它类:通过继承抽象类来实现所需方法属性
package eudcation.interfaceCls;
public class Student extends AbstractUser {
//public class Student{
//学生所属班级
private SchoolClass schoolclass;
/**
* 得到学生所在班级
*/
public SchoolClass getSchoolclass() {
return schoolclass;
}
/**
* 设置学生所在班级
*/
public void setSchoolclass(SchoolClass schoolclass) {
this.schoolclass = schoolclass;
}
}
记于:2007-03-15