本人对接口和抽象类比较模糊,请哪位帮助解释一下谢谢。

解决方案 »

  1.   

    http://topic.csdn.net/u/20071229/08/105b3085-9b7f-445f-897e-d7d0db9b2896.html
      

  2.   

    接口和抽象类中的抽象方法都必须在子类中被实现.这句话是错的.前提是子类不是抽象类
    抽象类:
    1:抽象类可以像普通类一样定义变量.包括(private,protected.public...)
    2:抽象类可以继承抽象类.抽象方法不用实现.
    3:非抽象类可以继承抽象类.要实现抽象方法
    4.抽象类可以继承非抽象类
    5.抽象类可以有抽象方法,可以有普通方法,
    6.抽象类像普通类一样.只能单继承
    7.抽象类不能实例.只能定义引用
    8.抽象类可以实现接口
    接口:
    1:接口变量全部是public final
    2:接口全部是抽象方法
    3:接口可以继承接口
    4:一个类可以实现多个接口.只能继承一个类
    5:接口不能实例.只能定义引用
      

  3.   

    面向对象思想---最关键是抽象。 
    java接口和java抽象类代表就是抽象类型,就需要提出抽象层的具体表现。OOP面向对象的编程,目的提高程序复用效率,可扩展性,可维护性,引出必须是面向接口的编程,面向抽象的编程,正确的使用接口和抽象类这些有用的抽象类型作物结构层次的顶层。 
    首先明白抽象类是用来继承其内部方法,接口是用来把其内部方法补充实现 
    比较如下: 
    共同处: 
    1.接口和抽象类均不能被实例化; 
    2.接口和抽象类中的抽象方法都必须在子类中被实现。   区别处: 
    1.接口本身属于特殊的抽象类,接口中的方法都必须是抽象的,而抽象类中可以有普通方法;   
    2.JAVA接口可以实现多重继承,而抽象类只能实现单一继承(java类均单一继承原则)。 联系: 
    java接口和抽象类各有优势,经典设计模式中,声明类型工作接口承担,但同时给出一个java抽象类,且实现这个接口, 
    而其它同属的具体类可以选择实现这个接口,可以继承这个抽象类,层次结构上,java接口在最顶上,然后紧跟抽象类, 
    发挥它们彼次所长。