A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© smile2015 中级黑马   /  2015-3-29 00:07  /  316 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

抽象类和接口有什么区别?
  • abstract class Demo {
  • abstract void method1();
  • abstract void method2(); }
  • 使用interface的方式定义Demo抽象类的方式如下:
  • 接口


    • interface Demo {
    • void method1();
    • void method2();
    • }

    在abstract class方式中,Demo可以有自己的数据成员,也可以有非abstarct的成员方法,而在interface方式的实现中,Demo只能够有静态的 不能被修改的数据成员(也就是必须是static final的,不过在interface中一般不定义数据成员),所有的成员方法都是abstract的。从某种意义上说,interface是一种特殊 形式的abstract class。

1) 抽象方法,只有行为的概念,没有具体的行为实现。
           使用:abstract 关键字修饰,并且没有方法体。
2) 包含抽象方法的类,就一定是抽象类。
           使用: abstract 关键字修饰,包含抽象方法。
3) 抽象类不能直接创建实例。可以定义引用变量。
4) 抽象类只能被继承,一个具体类继承一个抽象类,必须实现所有抽象方法。   5) 抽象方法和抽象类非常适合作为系统的分析和设计的工具。接口:
1 接口:全部的方法都是抽象方法,全部的属性都是常量。
   接口用来表示纯抽象概念,没有任何具体的方法和属性。
2 不能实例化,可以定义变量。
3 接口变量可以引用具体实现类的实例。
4 接口只能被实现(继承),一个具体类实现接口,必须使用全部的
   抽象方法。
5 接口之间可以继承。
6 一个具体类可以实现多个接口,实现多继承现象,表示:
7 接口中的属性,默认是常量 public static final
8 接中的方法一定是:public abstract
9 实现一个接口,使用关键字implements, 实现实际上是
   一种继承关系。接口和实现类是父子类型的关系

1 个回复

倒序浏览
学习,学习。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马