首页 > 其他分享 >抽象-接口

抽象-接口

时间:2022-09-02 10:57:57浏览次数:59  
标签:重写 接口 抽象 子类 抽象类 父类 方法

抽象类

为什么要使用抽象类

  1. 因为有的时候,父类的方法的逻辑基本没有什么用处, 所以隐藏父类方法的实现, 让子类完成具体实现的细节

  2. 有的时候 父类描述的比较宽泛, 比如: Person当中study方法, 用在Student类比较合适, 用在Worker类反而不太恰当

  3. 提高代码的复用性. 在父类中定义的某些方法子类必须要完全重写, 在父类定义的另外一些方法, 子类可以不重写. 也就是说决定权在父类.

抽象类的定义

在java中, 方法隐藏具体的实现细节的类

在父类中 有一些方法必须要让子类重写, 那这样的方法就叫抽象方法(父类规定子类必须重写的方法 eat , 必须重写, 由父类的业务说的算)

在父类中, 有一些方法不需要子类重写, 也就是说某些子类可以重写这个方法, 也可以不重写这样的方法, 这样的方法就叫普通方法 (重写不重写, 由子类的业务说的算 )

如何创建抽象类

  1. 如何创建抽象类  在类的声明上 使用关键字 abstract
2. 如何创建抽象方法 在类的内部, 方法上使用关键字 abstract ,并且 抽象方法不具备方法体

抽象类规则

1. 在抽象类中, 可以有抽象方法, 也可以有普通方法. ​ 2. 在抽象类中, 可以有变量, 也可以有常量. ​ 3. 如果在一个类中有抽象方法, 那么这个类必须是抽象类 ​ 4. 抽象类虽然有构造方法,但不允许通过构造方法来创建本类对象 ​ 5. 抽象类只能通过多态的形式来实例化对象. ​ 6. 抽象类是可以继承抽象类的, 但是继承的抽象类必须要有子类来实现所有继承来的抽象方法 ​ 7. 抽象类可以单继承, 但是不能多继承. ​ 8. 抽象类的声明及抽象方法,不可以使用final修饰, 也不可以使用static修饰.

 

 

接口

它的底层的含义 跟 抽象类很相似

 

为什么使用接口

  1. 隐藏实现的细节

  2. 复用性比较强 (方法 对象 成员)

 

怎么使用接口

创建一个文件 这个文件不再是使用class关键来描述类信息 而是使用interface这个关键字来描述类 就叫接口

    public interface Person  {     }

 

接口规则

    1. 在接口中, 是不可以有变量的,  但是可以有常量, 默认情况下 可以不写 public static final
  2. 在接口中, 是不可以有普通方法的, 但是可以有抽象方法, 默认情况下 可以不写 public abstract
  3. 在接口中, 是不存在任何构造方法的, 所以接口是不能实例化对象的.
  4. 接口必须要有实现类 (抽象类 的 实现是用的extends   接口的 实现是 implements 实现类)
              (接口名字 + Impl   ===> 是一个普通的类, 这个类来实现接口 并重写 接口中 所有的方法)
  5. 接口的实现类中, 必须要重写接口的所有的抽象方法
  6. 一个接口 可以有多个实现类, 一个实现类可以实现多个接口
  7. 接口可以继承接口, 可以单继承, 也可以多继承
  8. 接口中的所有的抽象方法必须用public权限修饰符
 

标签:重写,接口,抽象,子类,抽象类,父类,方法
From: https://www.cnblogs.com/y6909/p/16649020.html

相关文章