抽象类(上)

简介: 抽象类(上)

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

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

抽象类

🐷1.抽象类的定义

🐱‍🚀2.抽象类的语法

💚3.抽象类的概念

🚀4.抽象类的作用

1.抽象类的概念


什么是d4fe5fd4b8bb467dbce473e6bca4964b.png

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


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


2.抽象类的语法


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


public   abstract class Shape {
    public abstract  void draw();
    public  void func(){
        System.out.println("画画的baby");
    }
}

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


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


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


3.抽象类特性


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


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


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


abstract  class Shape {
    abstract void draw();
    public void func1(){
        System.out.println("哈哈哈");
    }
}
class  Circle extends Shape{
    @Override
    void draw() {
        System.out.println("画圆");
    }
}
public class TestDemo {
}

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

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

6. 抽象类中可以有构造方法,供子类创建对象时,初始化父类的成员变量


abstract  class Shape {
      public int age;
      public String name;
    public Shape(int age, String name) {
        this.age = age;
        this.name = name;
    }
    abstract void draw();
    public void func1(){
        System.out.println("哈哈哈");
    }
}
class  Circle extends Shape{
            public Circle(int age,String name){
                super(5,"小黑");
            }
    @Override
    void draw() {
        System.out.println("画圆");
    }
}
public class TestDemo {
}


抽象类的作用


抽象类本身不能被实例化, 要想使用, 只能创建该抽象类的子类. 然后让子类重写抽象类中的抽象方法.

所以他可以帮助我们校验代码是否正确

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


相关文章
抽象类
Java中的抽象类是一种特殊的类,它可以包含抽象方法和普通方法。抽象方法是没有实现的方法,只有声明,没有实现。抽象类不能被实例化,只能被继承。继承抽象类的子类必须实现抽象类中的所有抽象方法,否则子类也必须声明为抽象类。抽象类可以有构造函数,但是不能是public或者protected,只能是private或者protected。抽象类可以有静态方法,也可以有非静态方法。抽象类可以有成员变量,也可以有静态成员变量。抽象类可以被继承,也可以被实现接口。
|
6月前
|
C++
C++程序中的抽象类
C++程序中的抽象类
69 0
|
6月前
|
程序员 C#
C#抽象类和抽象方法详解
C#抽象类和抽象方法详解
62 0
|
6月前
|
存储
抽象类为什么有抽象方法?
抽象类为什么有抽象方法?
|
Java 编译器
认识抽象类
认识抽象类
83 0
|
程序员 C# 索引
知识回顾:抽象类与抽象方法
知识回顾:抽象类与抽象方法
109 0
|
索引
面向对象——抽象类与抽象方法
面向对象——抽象类与抽象方法
164 0
抽象类和抽象方法
抽象方法abstract public void Func();声明了abstract 不能有函数体 声明了virtual可以有函数体
524 0