JAVA基础——抽象类和接口的区别

 

属性 抽象类 接口
默认的方法实现 可以有默认的方法实现 不能有默认的方法实现
子类的实现 子类只需要实现抽象方法接口,有默认实现的可以重写,可以不重写。 子类必须实现所有方法
构造器 抽象类是一个类,可以有构造器 不是类,不能有构造器
与普通类的区别 除了不能实例化,其他都可以 不是类
访问修饰 可以使用public、protect、default修饰 只能用public修饰
是否可以有main方法 可以 不可以
多继承 不可以,java只支持单继承 该接口可以继承多个接口。
速度 比抽象类慢,因为需要去找实现。
添加新的方法 如果需要在抽象类中添加新的方法,只需要在这个类中添加新的方法和实现就可以了,如果只添加新的方法而不实现,那么所有的子类就需要重新实现该方法 添加新方法之后,所有的实现该接口的类都需要实现新的方法。
属性 抽象类 接口
默认的方法实现 可以有默认的方法实现 不能有默认的方法实现
子类的实现 子类只需要实现抽象方法接口,有默认实现的可以重写,可以不重写。 子类必须实现所有方法
构造器 抽象类是一个类,可以有构造器 不是类,不能有构造器
与普通类的区别 除了不能实例化,其他都可以 不是类
访问修饰 可以使用public、protect、default修饰 只能用public修饰
是否可以有main方法 可以 不可以
多继承 不可以,java只支持单继承 该接口可以继承多个接口。
速度 比抽象类慢,因为需要去找实现。
添加新的方法 如果需要在抽象类中添加新的方法,只需要在这个类中添加新的方法和实现就可以了,如果只添加新的方法而不实现,那么所有的子类就需要重新实现该方法 添加新方法之后,所有的实现该接口的类都需要实现新的方法。
交行软件开发 已投
大华 已投
华三 已投
posted @ 2016-09-28 15:43  suyesean  阅读(119)  评论(0编辑  收藏  举报