抽象类与接口在使用中的区别

抽象类:   使用格式为: public abstract class A{}
   1、在抽象类中的 方法可以定义抽象方法,也可以是具体的成员方法,不能是(static)类方法。
   2、在抽象类中 属性可以是成员属性,也可以是类属性。
   3、在抽象类中有 构造方法,默认是无参(没有参数列表)的,但是不能用来实例化对象(不能使用new去创建对象)。
   4、抽象类是用来充当父类,给子类去继承与发展的,当子类继承抽象类时,方法需要定义访问限定符,而且子类必须重写所有的抽象方法,且子类不能减小可见范围(访问限定符的设定不能减小)。
   5、一个类只能继承一个抽象类。
     继承的方法如下: public class B extends A{}
接口   使用格式为: public interface C{}
   1、在接口中的 方法只能定义抽象方法,不能有方法体,定义时默认为public abstract,可以省略。接口中的方法默认是public,也只能是public。
   eg: [public abstract] void I;  ----无返回值
       [public abstract] int J;   ----有返回值
   2、接口中 属性的定义时固定的:
           public static final 数据类型 变量名 =初始值;
          eg: public static final int a =0;
            public static final String aa =null;

   3、接口中不能有 构造方法,更加不能创建对象。
   4、接口也是用来充当父类的,给子类去实现与扩展的,当子类实现接口时,必须重写接口中所有的方法。且子类不能减小可见范围(访问限定符的设置不能减小)。
   5、一个类可以实现多个接口。
    public class E inmplements C,D{}

   一个类可以先继承一个类,再实现多个接口
   public class F extends E implements C,D{}

猜你喜欢

转载自suifan0116.iteye.com/blog/2342743
今日推荐