java抽象类和java接口

一、 Java抽象类介绍

  1. 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对 象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。 抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法、初始化块和构造方法 和普通类一样。
  2. 由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。
    二、 抽象类的方法
  3. 抽象方法只包含一个方法名,而没有方法体,使用abstract修饰。
  4. 格式:【修饰符】abstract返回类型 方法名();
  5. 修饰符 (public protected private)三选一
    三、 总结
  6. 抽象类必须使用abstract修饰符来修饰, 抽象方法也必须使用abstract修饰符来修饰, 抽象方法不能有方法体。
  7. 抽象类不能被实例化, 无法使用new关键字来调用抽象类的构造器创建抽象类的实例。
  8. 抽象类可以包含成员变量、 方法(普通方法和抽象方法都可以)、 构造器、初始化块、 内部类(接 口、枚举)5种成分。
  9. 抽象类的构造器不能用于创建实例,主要是用于被其子类调用
  10. 抽象类中不一定包含抽象方法,但是有抽象方法的类必定是抽象类
  11. abstract static不能同时修饰一个方法
    四、 Java接口介绍
  12. 接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以 interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。
  13. 接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接 口则包含类要实现的方法。 [修饰符] abstract 返回类型 方法名();
  14. 除非实现接口的类是抽象类,否则该类要定义接口中的所有方法。
  15. 接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就 必须声明为抽象类。
  16. 在 Java 中,接口类型可用来声明一个变量,他们可以成为一个空指针,或是被绑定在一个以此接口实现 的对象。
    五、 接口定义
  17. 格式:
    public interface InterfaceOne {
    //编译时自动为接口里定义的成员变量增加public static final修饰符 int INT_A=11; public final static int INT_B=11;
    //编译时自动为接口里定义的方法添加public abstract修饰符 void sleep(); public abstract void running(); void test(); }
  18. 修饰符 public、abstract
  19. 接口有以下特征
    1.接口是隐式抽象的,当声明一个接口的时候,不必使用abstract关键字。
    2.接口中每一个方法也是隐式抽象的,声明时同样不需要abstract关键字。
    3.接口中的方法都是公有的。
    4.编译时自动为接口里定义的方法添加public abstract修饰符
    5.Java接口里的成员变量只能是public static final共同修饰的,并且必须赋初值,可以不写public static final,编译的时候会自动添加
    六、 接口的实现
  20. 当类实现接口的时候,类要实现接口中所有的方法。否则,类必须声明为抽象的类
  21. 类使用implements关键字实现接口。在类声明中,Implements关键字放在class声明后面。
  22. 格式
    [修饰符] class 类名 implements 接口1[, 接口2, 接口3…, …] { }
    七、 接口的继承
  23. 一个接口能继承另一个接口,和类之间的继承方式比较相似。接口的继承使用extends关键字,子接口 继承父接口的方法。接口允许多继承
    八、 抽象类和接口的对比
  24. 抽象类
  25. 默认的方法实现 (它可以有默认的方法实现)
  26. 实现 (子类使用extends关键字来继承抽象类。如果子 类不是抽象类的话,它需要提供抽象类中所有声明 的抽象方法的实现。)
  27. 构造器 (抽象类可以有构造器)
  28. 与正常Java类的区别 (除了不能实例化抽象类之外,它和普通Java类没有 任何区别)
  29. 访问修饰符 (抽象方法可以有pubic、protected和default这些 修饰符)
  30. Main方法 (抽象方法可以有main方法并且我们可以运行它)
  31. 多继承 (抽象类可以继承一个类和实现多个接口)
  32. 添加新方法 (如果你往抽象类中添加新的方法,你可以给它提供 默认的实现。因此你不需要改变你现在的代码。)
  33. 接口
  34. 默认的方法实现 (接口完全是抽象的。它根本不存 在方法的实现)
  35. 实现 (类使用关键字impements来实现 接口。它需要提供接口中所有声 明的方法的实现)
  36. 构造器 (接口不能有构造器)
  37. 与正常Java类的区别 (接囗是完全不同的类型)
  38. 访问修饰符 (接口方法默认修饰符是public。 你不可以使用其它修饰符。)
  39. Main方法 (接口没有main方法,因此我们不能 运行它。)
  40. 多继承 (接口只可以继承一个或多个其它 接口)
  41. 添加新方法 (如果你往接口中添加方法,那么你 必须改变实现该接口的类。)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值