码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【Java】抽象类(abstract)、接口(interface)


    前言

    写在前面的话,不听b站老师的话,不写博客又加之不经常用JAVA,导致现在遗忘十分严重,古人云:亡羊补牢,为时未晚。故今日做补牢之举。勉之!


    一、抽象类

    抽象类类中可以没有抽象方法,但如果有抽象方法,则该类一定是抽象类。抽象方法只写方法的声明,具体实现交给子类(非抽象类)去实现。

    public abstract class Abstract {
        public abstract void run();
    }
    
    • 1
    • 2
    • 3

    如上,声明了一个run的抽象方法,具体的实现交给子类。

    public class Demo01 extends Abstract{
            @Override
            public void run()
            {
                System.out.println("一直努力的向前奔跑");
            }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    子类需要先继承抽象类(extends),然后重写父类中所有的抽象方法。

    抽象类的特点:

        1、抽象类中没有构造方法,所以不能够直接实例化对象
    
        2、抽象类中可以没有抽象方法,但有抽象方法的一定是抽象类。
    
        3、抽象方法需要一个非抽象子类,来继承,重写方法。
    
        4、抽象类只能单继承,不能够多继承(Class cannot extend multiple classes)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    二、接口

    接口的本质是契约,最主要的重要是约束和实现的分离
    创建一个接口

    public interface Demo02interface {
        void walk();
    }
    
    • 1
    • 2
    • 3

    用到interface关键字,它和class是同级的。

    1、接口中没有构造方法,所以不能直接实例化对象,interface
    2、接口中只有常量 public static final
    3、接口中不能写方法体
    4、所有的方法默认都是抽象的
    5、子类需要用implements来使用接口,同时要重写(@Override)接口的方法
    6、接口可以实现多继承 接口要用,来分隔(多继承确实牛啊)

    接口的多继承

    public class Demo03 implements Demointerface,Demo02interface{
        @Override
        public  void run()
        {
            System.out.println("我一直在努力的奔跑");
        }
        public void walk()
        {
            System.out.println("走累了,就歇一会");
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    总结

    前路茫茫,与君共勉 安静的进步,快乐的学习

  • 相关阅读:
    万字带你熟悉静态分析工具的评估测试
    【模电实验】【验证性实验——单管共发射极放大电路实验】
    区块链安全应用----压力测试
    Vite为啥如此之快
    直击固定资产管理痛点,让企业轻松管理海量固定资产
    DVWA文件上传漏洞低级_中级_高级
    代理配置及多套环境的解决方案
    聚苏丹红Ⅲ膜/磺化聚醚醚酮膜/ SiO2/Ag纤维复合材料修饰多巴胺的研究
    第十章、python字符串操作与with语句及上下文管理器------字符串的匹配与分割、字符串连接
    信息安全:网络安全漏洞防护技术原理与应用.
  • 原文地址:https://blog.csdn.net/m0_59792745/article/details/126091806
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号