Java中的接口与抽象类的比较、应用和实例 – 一个培训师不错的简洁解述

 

接口与抽象类:
(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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值