【java基础】抽象类和抽象方法

﹏ヽ暗。殇╰゛Y 2023-09-24 20:36 198阅读 0赞

文章目录

  • 基本介绍
  • 抽象类
  • 抽象方法
  • 使用
  • 总结

基本介绍

在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。

抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。

个人理解就是,抽象类可能含有没有被实现的方法(抽象方法),抽象类不能被实例化,也就是不能够通过new关键字进行创建。
抽象类不一定有抽象方法,有抽象方法一定是抽象类。都是使用abstract进行标识

抽象类

下面就定义了一个抽象类

  1. abstract class People {
  2. }

由于People根据不同角度可以进行很多的划分,所以我们就把People设计为抽象类。可以发现抽象类可以没有抽象方法

抽象方法

  1. abstract class People {
  2. abstract String gerGender();
  3. }

如果我们以性别来进行划分,那么我们定义一个方法,返回其性别。但是我们又不知道调用该方法的具体是什么性别,所以我们设计为抽象方法,让其子类来进行实现

使用

我们创建一个Man,Man会继承People。

  1. class Man extends People {
  2. @Override
  3. String gerGender() {
  4. return "男";
  5. }
  6. }

如果一个类继承了抽象类,那么就必须实现其所有的抽象方法,如果没有实现所有的抽象方法,那么当前类也应该使用abstract进行标识。

总结

  • 抽象类可以不含有抽象方法
  • 有抽象方法一定是抽象类
  • 抽象类不能实例化
  • 抽象类和普通类一样可以定义字段,实现方法
  • 如果一个类没有实现抽象父类的所有抽象方法,那么这个类也是抽象的,必须使用abstract进行修饰
  • 抽象类的对象变量只能引用非用非抽象类子类对象

发表评论

表情:
评论列表 (有 0 条评论,198人围观)

还没有评论,来说两句吧...

相关阅读

    相关 抽象方法抽象

    **抽象方法**       **使用abstract修饰的方法,没有方法体,只有声明。定义的是一种“规范”,就是告诉子类必须要给抽象方法提供具体的实现。** *...

    相关 JAVA抽象抽象方法

    类的继承的作用主要在于可以扩充已有类的功能,子类继承后可以任意选择是否实现父类的方法,想实现就实现,不想实现就不实现。换句话说,父类无法对子类是否实现自己的某个方法做强制的约定

    相关 抽象抽象方法

    抽象类和抽象方法的修饰符abstract 一、含有抽象方法的类必须声明为抽象类         换句话说就是抽象方法只能存在于抽象类中 二、抽象类必须被继承,抽象类中的方

    相关 抽象抽象方法

    抽象类: 1、抽象类的定义? 当多个类中出现相同功能,但是功能主体不同,这时可以进行向上抽取。只抽取功能定义,而不抽取功能主体。 如果在本类有无法实现的