码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 抽象类和(上)


    大家好,又见面了,今天和大家浅谈一下抽象类

    抽象类存在的意义就是被继承

    抽象类

    🐷1.抽象类的定义

    🐱‍🚀2.抽象类的语法

    💚3.抽象类的概念

    🚀4.抽象类的作用

    1.抽象类的概念

    什么是

    好问题,那么什么是普通类呢,普通类就是没有abstract修饰的方法,所以抽象类就是abstract修饰的类

    所有的对象都是通过类来描述的,但不是所有的类都用来描述对象的,如果一个类中没有包含足够的信息去描述一个对象,那么这个类叫做抽象类

    2.抽象类的语法

    抽象类使用abstract 来修饰,抽象类中被abstract修饰的方法叫做抽象方法,

    1. public abstract class Shape {
    2. public abstract void draw();
    3. public void func(){
    4. System.out.println("画画的baby");
    5. }
    6. }

     抽象方法不需要具体的实现

    抽象类也是类,也可以在抽象类的内部进行普通方法的书写,普通成员变量以及普通成员方法

    抽象类中不一定有抽象方法,但是有抽象方法的类一定叫做抽象类

    3.抽象类特性

    1.抽象类不能直接实例化对象

    2.抽象方法不能被private修饰

    3.抽象方法是不能别final和static 修饰的,因为抽象类中的方法在子类被重写

    1. abstract class Shape {
    2. abstract void draw();
    3. public void func1(){
    4. System.out.println("哈哈哈");
    5. }
    6. }
    7. class Circle extends Shape{
    8. @Override
    9. void draw() {
    10. System.out.println("画圆");
    11. }
    12. }
    13. public class TestDemo {
    14. }

    4.抽象类必须被继承,并且继承后子类要重写父类中的抽象方法,否则子类也是抽象类,必须要使用abstract修饰

    5. 抽象类中不一定包含抽象方法,但是有抽象方法的类一定是抽象类

    6. 抽象类中可以有构造方法,供子类创建对象时,初始化父类的成员变量
    1. abstract class Shape {
    2. public int age;
    3. public String name;
    4. public Shape(int age, String name) {
    5. this.age = age;
    6. this.name = name;
    7. }
    8. abstract void draw();
    9. public void func1(){
    10. System.out.println("哈哈哈");
    11. }
    12. }
    13. class Circle extends Shape{
    14. public Circle(int age,String name){
    15. super(5,"小黑");
    16. }
    17. @Override
    18. void draw() {
    19. System.out.println("画圆");
    20. }
    21. }
    22. public class TestDemo {
    23. }

    抽象类的作用

    抽象类本身不能被实例化 , 要想使用 , 只能创建该抽象类的子类 . 然后让子类重写抽象类中的抽象方法 .
    所以他可以帮助我们校验代码是否正确

    内容就这么多,希望看到的大佬斧正,谢谢大家,下期再见!!!886!!!

      
  • 相关阅读:
    【开源】基于JAVA的大学兼职教师管理系统
    Android gradle dependency tree change(依赖树变化)监控实现
    copulas对涉及时间连续随机过程的时变可靠性的影响研究(Matlab代码实现)
    【Python】数据可视化利器PyCharts在测试工作中的应用
    C#winform软件实现一次编译,跨平台windows和linux兼容运行,兼容Visual Studio原生界面Form表单开发
    对标特斯拉的通用人形机器人Figure 01,终于迈出第一步
    JavaScript DOM的使用,让页面跳动动起来
    C#中.NET 7.0 Windows窗体应用通过EF访问已有数据库并实现追加、删除、修改、插入记录
    c++多态
    拼多多API接口详解:自动化获取商品信息的高效指南
  • 原文地址:https://blog.csdn.net/weixin_61436104/article/details/127864768
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号