Java 使用技巧-abstract 修饰符

Java 使用技巧-abstract 修饰符#

工作中需要使用Java编写插件,但并不是主要技术栈,所以粗略地学习一下

抽象类:#

抽象类不能用来实例化对象,它的作用是定义一个类为其他类的基类

一个类不能同时被abstractfinal同时修饰

如果一个类包含抽象方法,那么这个类一定要用abstract修饰

抽象类可以包含抽象方法和非抽象方法

public abstract class DecoderBase
{
    public DecoderBase(byte[] binaryData)
    {
        this.binaryData=binaryData;
    }
    /**
     * 获取MID值
     * @return
     */
    public abstract int GetMid();
    /**
     * 获取消息类型
     * @return
     */
    public abstract MessageType GetMessageType();
}

抽象方法:#

抽象方法是一种没有任何实现的方法,改方法的具体实现由子类提供

抽象方法不能被finalstatic修饰

任何抽象类的子类必须实现父类的所有抽象方法,除非子类也是抽象类

如果一个类包含抽象方法,那么这个类必须声明为抽象类,但是抽象类可以不包含抽象方法

public class Adapter2Decoder extends DecoderBase {
    public Adapter2Decoder(byte[] binaryData) {
        super(binaryData);
    }
    @Override
    public MessageType GetMessageType() {

        byte control = Utility.First(binaryData, 6);
        byte value = (byte) (control >> 7);
        if (value == 0) {
            return MessageType.deviceReq;
        } else {
            return MessageType.deviceRsp;
        }
    }
    @Override
    public int GetMid() {
        byte control = Utility.First(binaryData, 5);
        return control;
    }

作者:sq800

出处:https://www.cnblogs.com/sq800/p/16566490.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   sq800  阅读(43)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
more_horiz
keyboard_arrow_up light_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示