【Java开发指南 | 第二十七篇】Java抽象类

简介: 【Java开发指南 | 第二十七篇】Java抽象类

Java 抽象类

抽象类是一种特殊的类,在面向对象编程中用来表示一个概念或者一类对象的模板。抽象类不能被实例化,其存在的主要目的是为了被其他类继承,并且可以包含抽象方法(这些方法只有声明而没有具体的实现)和具体方法(这些方法有具体的实现)。


抽象方法的实现由继承抽象类的子类来完成。


注意:


1、抽象类不能实例化对象,只能被用作其他类的父类;抽象类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。


2、由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。


3、任何继承抽象类的子类必须实现抽象类中的所有抽象方法,除非子类也声明为抽象类。


假设有一个抽象类 Shape,它定义了一个抽象方法 calculateArea() 用于计算形状的面积。然后可以有具体的子类如 Circle 和 Rectangle 来继承 Shape 类,并实现 calculateArea() 方法以计算各自形状的面积。


继承抽象类

代码示例:


// 抽象类
abstract class Shape {
    // 抽象方法
    abstract void draw();
}
// 子类继承抽象类并实现抽象方法
class Circle extends Shape {
    void draw() {
        System.out.println("Drawing Circle");
    }
}
class Rectangle extends Shape {
    void draw() {
        System.out.println("Drawing Rectangle");
    }
}
public class Ice {
    public static void main(String[] args) {
        Circle circle = new Circle();
        circle.draw(); // 输出:Drawing Circle
        Rectangle rectangle = new Rectangle();
        rectangle.draw(); // 输出:Drawing Rectangle
    }
}



其它规定

1、只有抽象类的非抽象子类可以创建对象。


2、抽象类中的抽象方法只是声明,不包含方法体,即不给出方法的具体实现(具体功能)。


3、构造方法,类方法(用 static 修饰的方法)不能声明为抽象方法。



目录
相关文章
|
3月前
|
Java
Java语言中的抽象类:深入解析与应用
Java语言中的抽象类:深入解析与应用
|
5天前
|
Java 编译器
Java中抽象类初探
Java中抽象类初探
7 0
|
2月前
|
JSON 前端开发 Java
Java与前端框架集成开发指南*
Java与前端框架集成开发指南*
|
1月前
|
Java 编译器
Java面向对象(三)详解: 封装 | 继承 | 方法重写 | 抽象类
Java面向对象(三)详解: 封装 | 继承 | 方法重写 | 抽象类
|
2月前
|
存储 Java 关系型数据库
基于Servlet和JSP的Java Web应用开发指南
【6月更文挑战第23天】构建Java Web应用,Servlet与JSP携手打造在线图书管理系统,涵盖需求分析、设计、编码到测试。通过实例展示了Servlet如何处理用户登录(如`LoginServlet`),JSP负责页面展示(如`login.jsp`和`bookList.jsp`)。应用基于MySQL数据库,包含用户和图书表。登录失败显示错误信息,成功后展示图书列表。部署到Tomcat服务器测试功能。此基础教程为深入Java Web开发奠定了基础。
56 10
|
1月前
|
网络协议 Java
Java面试题:什么是Java中的接口?与抽象类有什么区别?
Java面试题:什么是Java中的接口?与抽象类有什么区别?
23 0
|
1月前
|
JSON 前端开发 Java
Java与前端框架集成开发指南
Java与前端框架集成开发指南
|
2月前
|
Java 编译器
22. 【Java教程】抽象类
22. 【Java教程】抽象类
17 1
|
2月前
|
Java
Java编程不再难:一文看懂抽象类与接口的区别和联系!
【6月更文挑战第17天】在Java OOP中,抽象类与接口助你构建复杂应用。以图书管理系统为例,抽象类`Book`作为基类提供共享属性和方法,不直接实例化。接口如`HasChapters`和`HasIssues`定义特殊行为。抽象类支持部分实现,单继承,适合共享行为;接口仅含常量和抽象方法,多实现,强调行为规范。通过继承和实现,实现代码复用和系统扩展性。理解两者异同,是提升Java编程能力的关键。
26 0
|
2月前
|
Java 开发者 C++
Java面向对象的终极挑战:抽象类与接口的深度解析!
【6月更文挑战第17天】在Java OOP中,抽象类和接口助力代码复用与扩展。抽象类不可实例化,提供通用框架,适合继承;接口包含纯抽象方法,支持多态与松耦合。选择抽象类用于继承已有方法和状态,接口则适用于不相关类共享行为。Java 8后接口能含默认方法,增加设计灵活性。抽象类与接口常结合使用,以实现最佳设计,如`Shape`抽象类实现`Drawable`和`Selectable`接口,展现两者协同优势。理解和熟练运用这对概念是提升代码质量的关键。
22 0