• 网站刚刚上线,难免有不足的地方,敬请谅解!欢迎提出宝贵意见!

  •    3年前 (2015-08-13)  Java基础 |   3 条评论  155 
    文章评分 1 次,平均分 5.0
    [收起] 文章目录

    java学习笔记之—接口和抽象类

    一、抽象类

    抽象类是“是不是”的概念:例如:一只鸟是不是动物。
    1、抽象方法
    只有方法的声明,没有具体的实现
    2、含有抽象方法的类是抽象类,但是并非所有的抽象类都必须含有抽象方法。不能用抽象类创建对象(即使该类中不含有抽象方法)。
    3、抽象类是为了继承而存在的,通过继承去实现,如果创建了抽象类没有被继承则抽象类没有意义,因为它自己也不能去创建对象。
    4、抽象类也可以拥有成员变量和普通的成员方法。
    5、如果一个类继承了一个抽象类,则子类必须实现父类所有的抽象方法,否则子类也必须被定义为抽象类。
    6、抽象方法必须为public或者protected,缺省情况下默认的为public。

    二、接口

    接口是“有没有”的概念:例如:鸟能不能飞。
    1、Interface 这个关键字产生一个完全抽象的类,它根本没有提供任何具体实现。它允许创建者确定方法名,参数列表和返回类型但是没有任何方法体。
    2、可以在interface前添加public关键字,如果不添加,则它只具有包访问权限。
    3、可以在接口中显示的将方法声明为public,但是即使不声明它们也是public的。
    4、当要实现一个接口时,在接口中被定义的方法必须被定义为public,否则它只能得到默认的包访问权限,这样在方法被继承的过程中,其可访问权限就被降低了,java编译器会报错。
    5、接口可以含有变量和方法,接口中的变量会被隐式的定义为public static final变量,而方法会被隐式地指定为public abstract方法。一般在接口中不定义变量。接口中的变量必须被显示初始化。
    6、一个非抽象类实现了某接口,则必须实现接口中的所有方法,否则该类必须被定义为抽象类。
    7、一个类可以实现多个接口,间接的实现多继承。
    8、接口中不能含有静态代码块以及静态方法。
    9、接口中没有构造方法,不能被实例化。
    10、一个接口不能实现(implements)另一个接口,但它可以继承多个其它的接口。
    11、接口必须通过类实现他的抽象方法。
    代码实现:

    包外类实现接口:

    运行结果:
    在实现时,interface中的方法必须被定义为public
    接口中的public方法,包外测试

    文章为原创,转载请注明出处!

     

     

    本文原始地址:http://www.coderonline.net/java-study-notes-interfaces-and-abstract-classes.html

    本站所有文章,除特别注明外,均为本站原创,转载请注明出处来自http://www.coderonline.net/

    否则保留追究法律责任的权利!

    关于

    发表评论

    表情 格式
    1. 这网站不错,关注很久了 :twisted: 喜欢

      laixiaolong 评论达人 LV.1 3年前 (2015-11-22) [0] [0]
    2. 每一句的解释很充分,做得好

      请叫我main 评论达人 LV.1 3年前 (2015-08-18) [0] [0]
    3. 抽象是Is-A的关系,接口是Like-A的关系。写的知识点很详细,继续努力!

      leo 评论达人 LV.5 3年前 (2015-08-13) [0] [0]
    切换注册

    登录

    忘记密码 ?

    切换登录

    注册