抽象类与接口

朴灿烈づ我的快乐病毒、 2022-02-03 16:41 442阅读 0赞

抽象类

  1. 我们先谈谈个人觉得抽象类产生的原因吧,有时候我们需要编写一些预制的代码,但是这些代码中的某一部分我们没有办法给一个具体的实现,这个时候我们就在考虑用一个什么方法把这段代码给表现出来,但是具体的需要通过它的更为具体的东西来表述,抽象类的产生基于我们有的时候想去定义一些已知的一些类的特性,但是有无法具体的表达出来的时候,这个时候我们就定义这个类为抽象类,然后在通过它的子类来实现这个类的具体特性;而且是每个子类都必须有的特性;还拿动物来比喻吧,动物能够吃东西,吃什么东西这个具体的东西,现在无法直接说出来,但是子类却可以具体化,比如猫吃鱼,狗吃骨头,这就是抽象类特性的具体化,而且如果不在父类中定义这个抽象方法的话,每次父类对象在用这个方法的时候都需要去创建子类对象来实现,如果在一定量的情况下会显得特备麻烦,所以抽象类就顺势而生。(其实这也可能是继承的过程中遗留下来的问题)
  2. abstract class Animal{
  3. private String name;
  4. private int age;
  5. /**
  6. * 一个吃的抽象方法
  7. */
  8. public abstract void eat();
  9. public Animal(){}

在上面的代码说动物吃的方法是一个不能具体讲出来的一个方法,所以定义为抽象类的,然后通过具体的子类来继承并改写吃这个方法, 抽象类和接口不能实例化对象,它的作用是对继承者进行规划和约束,它有哪些方法(即方法名、参数和返回值)是已经规划好的,继承者必须严格按照这个来。这样的的好处就是对后代进行了统一规划,避免混乱。

  1. class Cat extends Animal{
  2. public Cat(){}
  3. public Cat(String name,int age){
  4. super(name,age);
  5. }
  6. public void eat(){
  7. System.out.println("猫吃鱼");
  8. }

接口

  1. 说到抽象类,自然就要谈到接口了;我觉得接口的产生是由于,在抽象类的前提下如果子类在有很多的情况下,而其中的某些子类需要的父类(抽象类)中的抽象方法而一个父类不能达到需求的情况下,它们的一类共有特性就不能够彰显出来了,那么就出现了接口这个东西,它里面只有抽象方法,而且支持多继承,在继承一个类的同时还能够实现多个接口,这无疑就是加强了抽象类不足的功能。
  2. interface Jumping{
  3. public void jump();
  4. }
  5. class cat extends dongwu{
  6. public cat(){}
  7. public cat(String name,int age){
  8. super(name, age);
  9. }
  10. public void eat() {
  11. System.out.println("猫吃鱼");
  12. }
  13. public void sleep(){
  14. System.out.println("侧着睡");
  15. }
  16. }
  17. class JumpCat extends cat implements Jumping{
  18. public JumpCat(){}
  19. public JumpCat(String name,int age){
  20. super(name, age);
  21. }
  22. public void jump() {
  23. System.out.println("猫跳高");
  24. }
  25. }

这里的jumpcat类就是先继承了一个猫类,然后再去实现了一个接口,这就是体现接口的弥补了java中单继承的不足。

发表评论

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

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

相关阅读

    相关 抽象接口

    1.抽象类 1.1抽象类的概述(理解) 当我们在做子类共性功能抽取时,有些方法在父类中并没有具体的体现,这个时候就需要抽象类了! 在Java中,一个没有方法体的方

    相关 抽象接口

    原文链接:[抽象类与接口][Link 1] 抽象与接口 抽象类 抽象类的定义 Java可以创建一种类专门用来当作父类,这种类称为“抽象类”。抽象类的作用有点

    相关 抽象接口

         一个软件设计的好坏,很大程度上取决于它的整体架构,而这个整体架构其实就是整个宏观商业业务的抽象框架,当代表业务逻辑的高层抽象层结构合理时,底层的具体实现需要考虑的就仅

    相关 抽象接口

       对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时

    相关 抽象接口

    我在求职一份Android应用开发实习生时,一家公司的面试官问了我这样的一道题目:“请谈谈你对抽象类与接口的理解?”我当初的回答,仅是简单解释了什么是抽象类,什么是接口,而至于

    相关 接口抽象

    抽象类 包含抽象方法的叫做抽象类,抽象类中也可以含普通方法。 接口 接口没有提供任何实现,而抽象类中还可以有一些实现。 接口中可以包含成员变量,比如说int x=5;但

    相关 抽象接口

    抽象类与接口 抽象类的作用 抽象类是从多个具体类中抽象出来的父类,它具有更高层次的抽象。从多个具有相同特征的类中抽象出一个抽象类,以这个抽象类作为其子类的模板,从而

    相关 接口抽象

    JAVA基础之接口与抽象类的区别 1. java不能多继承,一个类只能继承一个抽象类;但是可以实现多个接口; 2. 继承抽象类是一种IS-A的关系,实现接口是一种LIKE