如题,请高手们谈谈!

解决方案 »

  1.   

    抽象类和接口到底有哪些异同?
       
    抽象类也是一种类,定义的时候比如 public abstract class{}  来定义;
    接口是一种特殊的类,interface(接口)必须靠类来实现(implements);接口中的属性 默认的修饰符是用 public static final 来修饰的,必须首先给予赋值,而抽象类没有这么规定,抽象类的属性修饰符比较随意;接口的方法默认的修饰符号是用 public abstract 来修饰的,不能实例化,而抽象类的方法 可以是抽象的, 也可以不是抽象的(实例化);抽象类的子类如果不是抽象类的话,必须实现抽象类的抽象方法,有一点必须记住,一个类里面如果有抽象的方法,那么这个类就一定是抽象类,  如果一个类是抽象的类的话,他里面的方法可以是抽象的,也可以实现,还可以全部都实现; 
      

  2.   

    抽象类与接口的主要区别:
    1、在抽象类中可以为部分方法提供默认的实现;接口中只能包含抽象方法。
    2、向抽象类中添加一个具体的方法,不会对它的子类造成影响;而对于接口一旦公布就不应被改变。
    3、一个类只能继承一个直接的父类,这个父类可能是抽象类;但一个类可以实现多个接口。
    4、接口的数据成员是公有常量(public static final),方法默认都是public abstract类型;抽象类的数据成员可以是任意的,抽象方法不能用private修饰,也不能加final。