• 抽象类和(上)


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

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

    抽象类

    🐷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!!!

      
  • 相关阅读:
    UE5 Foliage地形植被实例删不掉选不中问题
    Spring Boot 中是使用 JDK Proxy 动态代理还是 CGLib ?
    c# 和 c++ 匿名互相传递参数
    JS宏任务与微任务
    C++项目实战-高并发服务器详析
    java作业辅助管理系统的设计与实现
    Java.lang.Byte类之static Byte valueOf(byte b)方法的简介说明
    MeterSphere专题之: 配套的浏览器插件:chrome-extensions
    第一部分、webpack基本使用
    MySql5.7主从配置
  • 原文地址:https://blog.csdn.net/weixin_61436104/article/details/127864768