接口和抽象类区别

清疚 2023-10-03 14:04 28阅读 0赞

接口和抽象类

接口测试

  1. public interface A<T> {
  2. //普通方法---不能
  3. /* public void aa(){
  4. System.out.println();
  5. }*/
  6. //默认方法----可以
  7. /* public default void aa(){
  8. System.out.println();
  9. }*/
  10. //可以放静态方法
  11. /* public static void aaa(){
  12. System.out.println();
  13. }*/
  14. //静态常量---能
  15. public static String ok="aaa";
  16. String ok1 ="cc";
  17. //不能放变量 静态变量都不能放
  18. // String ss;
  19. // public static String ok
  20. //只有一个抽象方法的接口叫函数式接口
  21. T get();
  22. }

总结

接口与抽象类的区别

相同点

1、它们都不能被实例化,就是不能直接new()为它们分配空间,而是需要通过继承或者实现它们的类将它们实例化。
2、继承或者实现它们的类都必须实现它们所有的抽象方法。假如继承该抽象类的类没有全部实现抽象方法,则还是一个抽象类。

不同点

1,接口只有定义,不能有方法的实现,java 1.8中可以定义default方法体,而抽象类可以有定义与实现,方法可在抽象类中实现。

2,实现接口的关键字为implements,继承抽象类的关键字为extends。

3, 一个类可以实现多个接口,但只能继承一个抽象类。接口可以被多重实现,抽象类只能被单一继承

4,类与类之间只允许单继承,即一个类只能继承一个抽象类;但是一个类可以实现多个接口implements 接口 ,实现多继承。

5,接口成员变量默认为public static final,必须赋初值,不能被修改;其所有的成员方法都是public、abstract的。

6,接口中不能放普通方法,以及变量、静态变量可以放静态常量,静态方法,默认方法

部分源于网络

发表评论

表情:
评论列表 (有 0 条评论,28人围观)

还没有评论,来说两句吧...

相关阅读

    相关 抽象接口区别

    一、抽象类 1、概念:就将一些事物的共性进行抽象 如:麻雀、燕子都可以归为鸟;奔驰、宝马都可以归为车 2、那抽象类与普通类有什么区别呢? 别傻傻的纠结半天,

    相关 抽象接口区别

    抽象类的特点: 抽象类一般在父类中使用,而它的子类实现父类中的抽象方法; 如果父类中有一个或多个抽象方法,那么父类必须为抽象类; 抽象类里的抽象方法没有任何

    相关 抽象接口区别

    相同点 都代表系统的抽象层,有助于系统的松耦合; 都不能被实例化; 都能包含抽象方法; 从JDK8开始,接口中也可以像抽象类一样,提供默认的实现(方法

    相关 接口抽象区别

        接口是对动作的抽象,这个对象能做什么。抽象类是对根源的抽象,这个对象是什么(一个类只能继承一个类(正如人不可能同时是生物和非生物),但可以实现多个接口(吃饭接口、走路接