Menu Close

Java抽象类和方法

抽象是面向对象程序设计的概念,它“仅显示”基本属性并“隐藏”不必要的信息。抽象的主要目的是向用户隐藏不必要的细节。它有助于减少编程的复杂性和工作量。它是OOP的最重要概念之一。

 

抽象与封装之间的区别

抽象 封装
面向对象编程中的抽象解决了设计层问题。 封装解决了它的实现层问题。
编程中的抽象是关于隐藏不必要的细节,同时显示最基本的信息。 封装意味着将代码和数据绑定到一个单元中。
Java中的数据抽象使您可以专注于信息对象必须包含的内容 封装意味着出于安全原因隐藏对象的内部细节或机制。

抽象类和接口之间的区别

抽象类 接口
抽象类可以同时具有抽象方法和非抽象方法。 该接口只能具有抽象方法。
它不支持多重继承。 它支持多种继承。
它可以提供接口的实现。 它不能提供抽象类的实现。
抽象类可以具有受保护的抽象方法。 接口只能具有公共抽象方法。
抽象类可以具有带有任何访问说明符的final,static或static final变量。 接口只能定义常量,不能定义成员变量

什么是抽象类?

抽象类是OOP中的一种类,它声明一个或多个抽象方法。这些类可以具有抽象方法和具体方法。普通类不能具有抽象方法。抽象类是至少包含一个抽象方法的类。

什么是抽象方法?

抽象方法是仅具有方法定义但不包含实现的方法。没有主体的方法称为抽象方法。它必须在抽象类中声明。抽象方法永远不会是final方法,因为抽象类必须实现所有抽象方法。

抽象的优点

  • 在编程中使用抽象的主要好处是,它允许您将几个相关的类分组为同级。
  • 面向对象编程中的抽象有助于降低软件设计和实现过程的复杂性。

什么时候使用抽象方法和抽象类?

抽象方法大多是在两个或多个子类通过不同的实现以不同的方式执行相同操作的情况下声明的。它还扩展了相同的Abstract类,并提供了abstract方法的不同实现。

抽象类有助于描述行为的通用类型和面向对象的编程类层次结构。它还描述了子类以提供抽象类的实现细节。

抽象类总结规定

  • 1. 抽象类不能被实例化,如果被实例化,就会报错,编译无法通过。只有抽象类的非抽象子类可以创建对象。
  • 2. 抽象类中不一定包含抽象方法,但是有抽象方法的类必定是抽象类。
  • 3. 抽象类中的抽象方法只是声明,不包含方法体,就是不给出方法的具体实现也就是方法的具体功能。
  • 4. 构造方法,类方法(用 static 修饰的方法)不能声明为抽象方法。
  • 5. 抽象类的子类必须给出抽象类中的抽象方法的具体实现,除非该子类也是抽象类。
Posted in Java
0 0 投票数
Article Rating
订阅评论
提醒
guest
0 评论
内联反馈
查看所有评论

相关链接