• 抽象类与接口的区别


      抽象类的好处在于, 我们可以笼统地定义一个类而不需要一次想到这个类的所有细节, 这就提高了java语言面向对象的能力

      尽管抽象类和接口之间存在较大的相同点,甚至有时候还可以互换,但这样并不能弥补他们之间的差异之处。下面将从语法层次和设计层次两个方面对抽象类和接口进行阐述。

    语法层次

          在语法层次,java语言对于抽象类和接口分别给出了不同的定义。下面已Demo类来说明他们之间的不同之处。

          

    使用抽象类来实现:

    1. public abstract class Demo {  
    2.     abstract void method1();  
    3.       
    4.       
    5.     void method2(){  
    6.         //实现  
    7.     }  
    8. }  

           

    使用接口来实现:
    1. interface Demo {  
    2.     void method1();  
    3.     void method2();  
    4. }  

           

     

      抽象类方式中,抽象类可以拥有任意范围的成员数据,同时也可以拥有自己的非抽象方法,但是接口方式中,它仅能够有静态、不能修改的成员数据(但是我们一般是不会在接口中使用成员数据),同时它所有的方法都必须是抽象的。在某种程度上来说,接口是抽象类的特殊化。

          对子类而言,它只能继承一个抽象类(这是java为了数据安全而考虑的),但是却可以实现多个接口。

    完整版:

    http://blog.csdn.net/chenssy/article/details/12858267

     

  • 相关阅读:
    平衡二叉树之RB树
    平衡二叉树之AVL树
    实现哈希表
    LeetCode Median of Two Sorted Arrays
    LeetCode Minimum Window Substring
    LeetCode Interleaving String
    LeetCode Regular Expression Matching
    PAT 1087 All Roads Lead to Rome
    PAT 1086 Tree Traversals Again
    LeetCode Longest Palindromic Substring
  • 原文地址:https://www.cnblogs.com/zedosu/p/6514198.html
Copyright © 2020-2023  润新知