精华内容
下载资源
问答
  • java抽象类和接口区别

    2016-03-07 14:44:52
    java抽象类和接口区别  这里需要谈到抽象类和Interface的差别,abstract class和interface是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的面向对象能力,两者的区别如下: ...
    java抽象类和接口区别

            这里需要谈到抽象类和Interface的差别,abstract class和interface是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的面向对象能力,两者的区别如下:



    (1)相同点
    A,两者都是抽象类,都不能实例化。
    B,interface实现类及abstrct class的子类都必须要实现已经声明的抽象方法。

    (2)不同点
    A,interface实现,要用implements,而abstract class的实现,要用extends。
    B,一个类可以实现多个interface,但一个类只能继承一个abstract class。
    C,interface强调特定功能的实现,而abstract class强调所属关系。
    D,尽管interface实现类及abstrct class的子类都必须要实现相应的抽象方法,但实现的形式不同。interface中的每一个方法都是抽象方法,都只是声明的(declaration, 没有方法体),必须要实现。而abstract class的子类可以有选择地实现。
           抽象类的这个选择有两点含义:一是Abastract class中并非所有的方法都是抽象的,只有那些冠有abstract的方法才是抽象的,子类必须实现。那些没有abstract的方法,在Abstrct class中必须定义方法体。二是abstract class的子类在继承它时,对非抽象方法既可以直接继承,也可以覆盖;而对抽象方法,可以选择实现,也可以通过再次声明其方法为抽象的方式,无需实现,留给其子类来实现,但此类必须也声明为抽象类。既是抽象类,当然也不能实例化。

    E,interface是完全抽象的,只能声明方法,而且只能声明pulic的方法,不能声明private及protected的方法,不能定义方法体,也不能声明实例变量。



    展开全文
  • 抽象类是对类的属性行为的双重抽象,而接口则是对类行为的抽象。 一、抽象类 1、含有抽象方法的类一定是抽象类,反之则不成立,抽象类可以没有抽象方法。 2、抽象类不能被实例化只能被类或抽象类继承,可实现...

    抽象类、接口其实都可以说是一种特殊的类。

    抽象类是对类的属性和行为的双重抽象,而接口则是对类行为的抽象。

    一、抽象类

    1、含有抽象方法的类一定是抽象类,反之则不成立,抽象类可以没有抽象方法。

    2、抽象类不能被实例化只能被类或抽象类继承,可实现接口。

    3、类继承抽象类必须实现所有抽象方法,抽象继承另一个抽象类则不一定实现父类的所有抽象方法。

    二、接口

    1、接口中的成员变量必须是常量即public static final声明

    2、接口中的方法都是抽象方法(默认public abstrac)声明

    3、可以继承多个接口。

    4、jdk8以后接口中允许存在默认方法default修饰的方法实现但是只能被实现类的对象调用,允许存在静态方法,但只能用接口名调用。

    展开全文
  • java 抽象类 接口

    1.什么是抽象类?

    使用了java关键字abstract修饰的类就是抽象类。如果一个类的包含了抽象方法那么它必须是抽象类。不能创建abstract类型的示例。

    2.什么是接口?

    一系列方法的声明,在java中还可以拥有一些public static final的成员。

    3.抽象类和接口的区别?

    抽象类不支持多继承,而接口则可以

    抽象类可以有自己的成员变量和成员方法。接口则只能有public static final修饰的成员变量,和接口中只能存在public abstract 类型的方法,且只有方法声明不能实现。

    抽象类可以应用在适配器模式中。

    接口中不能含有静态代码块以及静态方法,而抽象类可以有静态代码块和静态方法;

    一个类只能继承一个抽象类,而一个类却可以实现多个接口。

    抽象类可用于模板式的设计,而接口则是一种行为规范。

    子类中的抽象方法不能与父类的抽象方法同名。

    abstract不能与final并列修饰同一个类。

    abstract 不能与private、static、final或native并列修饰同一个方法。

    展开全文
  • Java抽象类1)不能直接被New(不能被实例化),但是new时定义推荐用抽象类2)一般会有抽象方法(必须为public或者protected),可以有具体的方法属性3)可拥有构造函数,可以说比普通类更强大,普通类能干的事它都...
    Java抽象类

    1)不能直接被New(不能被实例化),但是new时定义推荐用抽象类

    2)一般会有抽象方法(必须为public或者protected),可以有具体的方法和属性

    3)可拥有构造函数,可以说比普通类更强大,普通类能干的事它都能干

    4)一个类只能继承一个抽象类:“这个对象是什么

    5)钩子方法(一种机制,即普通方法中调用抽象方法,或者说父类调用子类的方法)

    6)是重构的结果。当你关注一个事物的本质的时候,用抽象类

    7)是一种模板式设计:抽象类,如果需要添加新的方法,可以直接在抽象类中添加具体的实现,子类可以不进行变更

    8)示例:Door可以设计为单独的一个抽象类,包含open和close两种行为

    9)作用:行为和实现分离,面向抽象编程。抽象类唯一存在的理由:就是被继承

    Java接口

    1)不能直接被New,但是new时定义推荐用抽象类

    2)只能有抽象方法(必须是public abstract),变量只能是public static final,不能含有静态代码块以及静态方法

    3)没有构造函数

    4)一个类可以实现多个接口,接口可以多继承:“这个对象能做什么

    5)标记接口:没有抽象方法的接口

    6)设计的结果,当你关注一个操作的时候,用接口

    7)一种辐射式设计:如果接口进行了变更,则所有实现这个接口的类都必须进行相应的改动

    8)示例:门具有报警alarm( )的功能,报警可以设计为一个接口

    9)作用:行为和实现分离,面向抽象(接口)编程

    展开全文
  • 1、抽象类和接口都不能直接实例化,如果要实例化,抽象类变量必须指向实现所有抽象方法的子类对象,接口变量必须指向实现所有接口方法的类对象 2、抽象类要被子类继承,接口要被类实现。 3、接口只能做方法申明,...
  • Java抽象类和接口区别 抽象类和接口定义非常类似 当抽象类和接口都可以使用时,尽量选择接口。接口可以避免单继承局限
  • 抽象类和接口区别有:    1、抽象类要被子类继承,接口要被类实现。    2、接口只能做方法声明,抽象类中可以作方法声明,也可以做方法实现。    3、接口里定义的变量只能是公共的静态的常量,抽象类中...
  • 抽象类和接口区别 1.抽象类是半抽象的,接口是完全抽象的 2.抽象类中没有构造方法,接口有构造方法 3. 类和类之间只能单继承,接口和接口之间可以多继承 4. 一个类可以同时实现多个接口,一个抽象类只能继承一个类...
  • JAVA抽象类和抽象方法(abstract) https://www.cnblogs.com/ibelieve618/p/6410910.html Java抽象类与接口区别 http://www.importnew.com/12399.html
  • 抽象类和接口区别: A:成员区别 抽象类: 成员变量:可以变量,也可以常量 构造方法:有 成员方法:可以抽象,也可以非抽象 接口: 成员变量:只可以常量 构造方法:无 成员方法:只可以抽象 B:...
  • Java抽象类接口区别

    2019-07-18 11:02:59
    抽象类接口区别 抽象类 接口 关键字abstract class 关键字interface 子类extneds继承抽象类,单继承(is-a) 子类implements实现接口,多实现(like-a) 可以有构造器,构造器不是用来实例化的,...
  • 本文转载自 Java抽象类接口区别 抽象类   抽象类是用来捕捉子类的通用特性的 。它不能被实例化,只能被用作子类的超类。抽象类是被用来创建继承层级里子类的模板。以JDK中的...
  • Java抽象类 1、抽象类使用abstract修饰;2、抽象类不能实例化,即不能使用new关键字来实例化对象;3、含有抽象方法(使用abstract关键字修饰的方法)的类是抽象类,必须使用abstract关键字修饰;4、抽象类可以含有...
  • java抽象类和普通类的区别 1.抽象类不能被实例化。 2.抽象类可以有构造函数,被继承时子类必须继承父类一个构造方法,抽象方法不能被声明为静态。 3.抽象方法只需申明,而无需实现,抽象类中可以允许普通方法有主体...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,353
精华内容 2,541
关键字:

java抽象类和接口区别

java 订阅