抽象类针对的是类,接口针对的是行为(也就是方法)。 抽象类
抽象类不能实例化,但是可以引用。
抽象类和接口的异同点:
访问修饰符:public 公共的 protected 受保护的 默认的 private 私有的
因为没有足够的信息描述这个类,该类为抽象类
抽象类中不一定有抽象方法 有抽象方法一定是抽象类
如果一个类继承抽象类,则要实现抽象类的抽象方法
如果这个类没有实现抽象类的抽象方法,那么意味着这个类也是一个抽象类但类前要加abstract
抽象类的特点:
(1)抽象类是一个有抽象修饰符的类(abstract)
(2)抽象类可以没有抽象方法
(3)抽象方法必须写在抽象类中
(4)抽象方法不能有方法体
(5)抽象类不能实例化
(6)子类必须实现抽象类中的抽象方法,除非这个类也是抽象类
接口(interface) implements实现一个接口
接口是标准和规范(概念),是一种约定
访问修饰符用public
接口里面有未实现的方法和常量 简单工厂设计模式
接口的特点:
(1) 接口的成员列表中只能包含抽象方法,及常量 (public static final),而且常量必须在接口中定 义的时候就初始化
(2)接口的所有成员默认都是public 包括接口本身,不 允许用其它修饰符
(3)接口没有构造方法
(4)可以引用子类的对象
(5) 接口可以继承接口
(6) 一个类可以实现多个接口
面向对象的特点主要概括为抽象性,继承性,封装性 和多态性
接口里不能包含普通方法,这和抽象类不同,在接口中,所有的方法都必须是抽象的