接口、抽象类、继承、多态的一些实现方式

博客介绍了编程中接口、抽象类和最终类的实现步骤,先写接口定义公用方法,再定义抽象类实现方法,最后实现最终类。同时说明了构造函数继承规则,父类无参构造函数默认可继承,有参构造函数子类必须继承才能使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先写一个接口,定义一些公用的方法

public interface KeyPrefix {
    public int setExpireSeconds();
    public String setPrefix();
}

在定义一个抽象类实现这些方法,为后面的继承做准备

public abstract class BasePrefix implements KeyPrefix {//abstract类不能直接new
    //属性
    private int expireSeconds;
    private String prefix;

    //构造函数
    public BasePrefix (int expireSeconds,String prefix){
        this.expireSeconds = expireSeconds;
        this.prefix = prefix;
    }

    public BasePrefix (String prefix){//默认0代表永不过期
        this(0,prefix);
    }

    //方法
    @Override
    public int setExpireSeconds() {
        return expireSeconds;
    }

    @Override
    public String setPrefix() {//前缀为  当前类名:getPrefix(属性名)
        String className = getClass().getSimpleName();
        return className + ":" + prefix+ ":";
    }
}

最后就是实现最终的类了

public class MiaoshaUserKey extends BasePrefix {

    public static final int TOKEN_EXPIRE = 2*3600;

    private MiaoshaUserKey(int expireSeconds,String prefix) {
        super(expireSeconds,prefix);
    }

    public static MiaoshaUserKey sessionToken = new MiaoshaUserKey(TOKEN_EXPIRE,"tok");
}

 

父类中的无参构造函数是默认可以继承的,子类中可以直接new个无参的实例。但是假如父类里面是有参的构造函数,那子类就是必须继承才能使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值