`

抽象类abstractclass和接口interface的区别

阅读更多
abstract class不能创建实例对象,含有abstract方法的类必须定义为abstract class,
abstract class类中的方法不必是abstract的。
如果子类没有implements abstract父类中的所有abstract方法,那么子类也必须定义为abstract方法。

interface可以说成是abstract class的一种特例,interface中的所有方法都必须是abstract的。interface中的方法定义默认为public abstract类型,interface中的成员变量类型默认为public static final。

区别:
1.abstract class可以有构造方法,interface中不能有构造方法。

2.abstract class中可以有普通成员变量,interface中没有普通成员变量。

3.abstract class中可以包含非abstract的普通方法,interface中的所有方法必须都是abstract。

4.interface中的abstract方法只能是public类型的。并且默认即为public abstract类型。

5.abstract class中可以包含static方法,interface中不能包含static方法。

6.abstract class和interface中都可以包含static成员变量,abstract class中的static成员变量的访问类型可以任意,但interface中定义的变量只能是public static final类型。并且默认即为public static final类型。

7.一个class可以implements多个interface,但只能extends一个abstract class。
分享到:
评论

相关推荐

    详细解析Java中抽象类和接口的区别

    抽象类和接口的区别 在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abstract class和interface之间在对于抽象类定义的支持...

    Java中抽象类和接口的区别

    abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进 行抽象类定义时对于abstract class和interface的选择显得比较随意。其实,两者之间还是有很大的...

    Java中抽象类和接口的区别与作用详解

    结论:abstract class和Interface是JAVA语言中的两种定义抽象类的方式。Interface将abstract的概念作了更进一步的发挥。你可以想像Interface是“纯粹”的 abstract class,只可以包含抽象方法,也包括一些常量的定义...

    深入理解abstract class和interface

    abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于abstract class和interface的选择显得比较随意。其实,两者之间还是有很大的...

    1.5:接口和抽象类的区别.pdf

    4.实现抽象类和接口的类必须实现其中的所有方法。 抽象类中可以有非抽象方法。接口中则不能有实现方法。如果接口或者抽象类的子类不想实现则继续携程一个抽象方法 5.接口中定义的变量默认是public static final ...

    JAVA中抽象类和接口的区别

    在Java语言中,abstract class 和interface 是支持抽象类定义的两种机制区别

    C++中抽象类和接口的区别介绍

    抽象类(abstract class)和接口(interface)的概念是面向对象设计中常用的概念, 也是比较容易混淆的概念. 在这里, 我提出一种区分它们的思路

    JAVA中抽象类与接口的区别

    abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进 行抽象类定义时对于abstract class和interface的选择显得比较随意。其实,两者之间还是有很大的...

    Java中抽象类和接口的区别.zip_java interf

    abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进 行抽象类定义时对于abstract class和interface的选择显得比较随意。其实,两者之间还是有很大的...

    浅析Java抽象类和接口的比较

    abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。

    abstract class

    abstract class 抽象类--不具体的类 1) 抽象方法,只有行为的概念,没有具体的行为实现。 2) 包含抽象方法的类,就一定是抽象类。 使用: abstract 关键字修饰,包含抽象方法。 如:平面图形一定可以计算面积。 ...

    Java学习笔记---15.面向对象编程10-Java中final关键字,抽象类与接口

    //接口中包含了抽象类和抽象方法 public static final String NAME = "newsainton"; public abstract void fun(); } // 一个类可以继承多个接口,但如果该类不是抽象类的话,则必须实现抽象类中的所有抽象方法 ...

    Java中interface接口与abstractclas

    Java中interface接口与abstractclass抽象类的区别共2页.pdf.zip

    Java抽象类与接口的区别

    含有abstract修饰符的class 即为抽象类,abstract类不能创建实例对象,含有abstract的方法的类必须定义为abstract class ,abstract class 里的方法不必是抽象的,抽象类中定义抽象方法必须放在具体子类中实现,所以...

    Java程序开发中abstract 和 interface的区别详解

    abstract class和interface在Java语言中都是用来进行抽象类。但是两者有什么区别呢,接下来小编给大家带来了abstract 和 interface的区别详解,感兴趣的朋友一起学习吧

    java高级类操作 接口与抽象类的操作

    circle Rectangle等类在接口中计抽象类中的用法 抽象类 接口多态 public class Polymorphism { public static void main(String args[]) { Triangle t=new Triangle(5.0,2.0); t.show_area(); Rectangle r=...

Global site tag (gtag.js) - Google Analytics