美文网首页
Java中类,抽象类,接口的异同

Java中类,抽象类,接口的异同

作者: 慕辙 | 来源:发表于2019-03-03 16:42 被阅读0次

抽象类:
当不同类中有两个同名方法,按已有的设计考虑,应该需要把这个方法放在父类,子类继承这个方法。但当不同类中同名方法的实现完全不同时,这样的考虑显然行不通。那我们把这个同名方法声明为一个抽象方法只给出方法的声明,没有具体实现。子类再根据自己的需要去给这个方法相应实现。
抽象方法只能在抽象类中,但是抽象类并不是一定要包含抽象方法。
没有抽象方法的抽象类也是有意义的,它意味着该类不可以被实例化,只是给出了相关规则要求继承的子类都需要根据抽象类定义的方法去给出具体实现。

抽象类和类的异同:

  • 抽象类在类的基础上新增了抽象方法,需要用abstract修饰。在类的组成上其他方面和类相似,可以拥有成员变量,普通的方法;
  • 抽象类中的抽象方法必须定义为public或protected,因为抽象方法是一定要被子类继承的;
  • 抽象类不可以被实例化,只能由其子类实例化;
  • 如果一个普通类继承自抽象类,则该类必须实现抽象类中的抽象方法。如果子类没有实现抽象类的抽象方法,则该子类也必须定义为抽象类。

接口:
接口在抽象类的基础上规则演化得更加严格,接口中只能有抽象方法,且没有成员变量,变量都需要声明为:public static final。接口中没有实现,只给出了声明。
抽象类的规范介于类和接口之间,即能有具体的实现,也有接口的抽象。

接口个抽象类异同:

  • 接口可以被实现——implements,抽象类可以被继承——extends;
  • 抽象类可以有构造方法而接口不可以有构造方法;
  • 接口中变量的声明只能为:public static final;
  • 一个类只能继承一个抽象类,而一个类可以实现多个接口;
  • 抽象类中可以有普通方法,接口中只能有抽象方法,不能给出方法的具体实现。

相关文章

  • Java编程——接口和抽象类

    在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。两者有着许多大异同。 一、抽象类 在了解抽象类之前...

  • Java中类,抽象类,接口的异同

    抽象类:当不同类中有两个同名方法,按已有的设计考虑,应该需要把这个方法放在父类,子类继承这个方法。但当不同类中同名...

  • Java基础-抽象类和接口

    抽象类和接口也是 Java 面试中常考的,下面就来总结一下抽象类和接口的相关知识。 抽象类是类,Java 中类是单...

  • Java类、抽象类、接口的异同

    类 Java是面向对象的编程语言,类是对象的结构框架,类中定义了对象的成员变量和方法,此外还可以有类本身的静态变量...

  • Java中类,抽象类,接口之间的异同

    类是一个模板,是对一系列具有相同属性和方法的对象的描述;如果一个类含有抽象方法或者被声明为abstract,则称这...

  • 接口类&抽象类

    java的接口类和抽象类的特点 java中抽象类的特点: 抽象类和抽象方法必须用关键字abstract修饰 2.如...

  • 第18条:接口优于抽象类

    java中可以用来定义允许多个实现的类型有两种:接口和抽象类。 接口和抽象类的区别: 1,抽象类中可以存在某些方法...

  • java抽象类和接口小记

    Java抽象类和接口小记 Java抽象类和接口实现了java的多态.多态是面向对象程序语言的核心,在项目开发过程中...

  • Java抽象类和接口类

    Java中接口和抽象类的区别是什么?什么时候用接口?什么时候用抽象类?抽象类和接口存在的意义是什么?能解决哪些编程...

  • Java面向对象之抽象类、接口和多态

    抽象类 Java中抽象类表示的是一种继承关系,一个类只能继承一个抽象类抽象类 接口 Java提供了关键字inter...

网友评论

      本文标题:Java中类,抽象类,接口的异同

      本文链接:https://www.haomeiwen.com/subject/rhwyuqtx.html