Java进阶--抽象类和接口

抽象类:
  A:使用abstract 关键字修饰
  B:抽象类不一定有抽象方法,但有抽象方法的类,一定是抽象类
  C:抽象类不能实例化
  D:抽象类的子类要么是抽象类,要么必须重写抽象类中的抽象方法

抽象成员特点:
  A:成员变量:可以是常量也可以是变量
  B:构造方法,有构造方法
  C:成员方法:可以是抽象的,也可以是非抽象的

抽象类的问题:
  A:抽象类中有构造方法,不能实例化,作用是给子类访问父类进行数据初始化
  B:一个类没有抽象方法,却被定义为抽象类,作用:不让创建对象
  C:abstrat 不能与final、static、private共存

接口:
  A:使用关键字interface修饰;
  B:类实现接口使用implement关键字
  C:接口不能实例化
  D:接口的实现类,要么是抽象类,要么必须重写接口中所有抽象方法

接口成员特点:
  A:成员变量:只有静态常量,public static final修饰
  B:没有构造方法
  C:成员方法:只有抽象成员方法 public abstract 修饰

类与类,类与接口,接口与接口
  A:类与类
    继承关系,单继承,多层继承
  B:类与接口
    实现关系,可单实现,也可多实现,
    还可以继承类后同时实现多个接口
  C:接口与接口
    继承关系,可单继承,也可多继承

抽象类和接口的区别
  A:成员区别:
    抽象类:成员变量可是变量,也可是常量
        成员方法可是抽象方法,也可是非抽象方法
    接口: 成员变量是静态常量
        成员方法必须是抽象方法
  C:设计理念:
    抽象类: is a 定义的是共性
    接口: like a 定义的是扩展性

猜你喜欢

转载自www.cnblogs.com/fenglin12/p/10735072.html
今日推荐