返回顶部
首页 > 资讯 > 后端开发 > Python >Java超详细讲解抽象类的原理与用法
  • 472
分享到

Java超详细讲解抽象类的原理与用法

2024-04-02 19:04:59 472人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录1. 抽象类是什么2 抽象类的语法3 抽象类都有什么特性4 抽象类是干什么的1. 抽象类是什么 ️给大家上一篇小作文,看完这个,你就理解了什么叫做抽象类 在面向对象的概念中,所有

1. 抽象类是什么

️给大家上一篇小作文,看完这个,你就理解了什么叫做抽象类

面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,

如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。

️思考一下抽象类和类在功能上什么区别

因为抽象类是没有足够的信息去描绘一个具体的对象的,所以抽象类也就不能实例化对象

除此之外,抽象类的其它功能都是存在的,成员变量,成员方法,构造方法的访问方法和类一样。

️既然这个抽象不能实例化对象,那么该如何使用抽象类呢

既然不能实例化对象,那么抽象类就只能被继承,才可以使用。

但是使用时,又要注意,因为继承,父类是抽象的,所以父类包含子类集合的常见方法不能使用

一句话说明抽象类,那就是,不完整的类,只能继承用

2 抽象类的语法

(1)使用abstract修饰的方法,叫抽象方法

(2)包含抽象方法的类,必须设计为抽象类,这个类也必须使用abstarct修饰

这个方法没有具体实现,又有abstract修饰,那么把这个方法叫抽象方法

abstract class Shape {
    //抽象方法
    public abstract void draw();
}

3 抽象类都有什么特性

(1)抽象类是不能进行实例化的

看这段代码就报错了

(2)抽象类中,可以有和普通类一样的成员变量,成员方法,也可以有构造方法

抽象类和普通类不一样的是,抽象类不能进行实例化

(3)抽象类不可以被实例化,但可以被继承

可以这么认为,抽象类的作用是,用来被继承的

(4)抽象方法的访问限定符不能是private,并且抽象方法也不能

被static和final所修饰,这是因为子类继承要重写

注意:抽象方法没有加访问限定符时,默认是public

(5)当一个普通类继承这个抽象类之后,如果这个抽象类中包含抽象方法,

那么需要重写这个抽象方法,否则代码会报错

(6)如果一个抽象类️A继承另一个抽象类B,

那么此时这个抽象类A可以不重写抽象类B中的抽象方法

我们先看这个,一个抽象方法,重写一次

那再写一个抽象方法,会不会报错?答案是会报错

所以我们需要再重写一次,继承这里才不会报错

️但这个每写一个抽象方法,就要重写一次,是不是比较麻烦,有什么好的方法吗?

那就可以把继承这里也写成抽象类。

写成抽象类后,就不用一次一次重写那么麻烦了

abstract class Shape {
    public int a;
    public static int b;
    public void func() {
    }
    //抽象方法
    public abstract void draw();
    public abstract void draw2();
abstract class Rect extends Shape{    
}
}

所以,两个都是抽象类后,就不用重写就可以继承了

(7)抽象类中不一定包含抽象方法,但是有抽象方法的类一定是抽象类

4 抽象类是干什么的

比较通俗的说就是,抽象类是给程序员用来,防止出错的,相当于报警器。

️为什么会这么说呢

比如这个不应该由父类完成, 而应由子类完成. 此时如果不小心用成父类了,

使用普通类编译器是不会报错的.

但是父类是抽象类就会在实例化的时候提示错误, 让我们发现错误,进行修改

所以说在合适的地方选用抽象类是比较有意义的

到此这篇关于Java超详细讲解抽象类的原理与用法的文章就介绍到这了,更多相关Java抽象类内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Java超详细讲解抽象类的原理与用法

本文链接: https://lsjlt.com/news/149176.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Java超详细讲解抽象类的原理与用法
    目录1. 抽象类是什么2 抽象类的语法3 抽象类都有什么特性4 抽象类是干什么的1. 抽象类是什么 ️给大家上一篇小作文,看完这个,你就理解了什么叫做抽象类 在面向对象的概念中,所有...
    99+
    2024-04-02
  • Java超详细讲解抽象类与接口的使用
    目录一、抽象类1、抽象类的语法2、抽象类的特性3、抽象类的作用二、接口1、接口的概念2、接口使用3、接口特性4、实现多个接口5、接口间的继承6、常用的接口(1)Comparable接...
    99+
    2024-04-02
  • Java 抽象类详细讲解
    目录 Java抽象类概念 Java抽象类示例 继承Animal类的子类的示例 Java抽象类详细使用方法 1、定义抽象类 2、继承抽象类 3、实现抽象方法 4、完整示例代码 Java抽象类概念 Java中抽象类是指用abstract关键...
    99+
    2023-09-04
    java jvm 开发语言 javase 面向对象
  • 详细讲解Java抽象类示例
    目录Java抽象类概念Java抽象类示例继承Animal类的子类的示例Java抽象类详细使用方法1、定义抽象类2、继承抽象类3、实现抽象方法4、完整示例代码Java抽象类概念 Jav...
    99+
    2023-05-19
    Java 抽象 抽象类
  • 超详细讲解SpringCloud Commons公共抽象的用法
    目录Spring Cloud Commons公共抽象@EnableDiscoveryClient服务注册ServiceRegistryRestTemplate的负载均衡RestTem...
    99+
    2024-04-02
  • Java超详细介绍抽象类与接口的使用
    目录1.抽象类的语法和特性1.1语法1.2特性2.接口的语法和使用2.1语法2.2特性1.抽象类的语法和特性 1.1语法 1.在Java中,一个类如果被abstract 修饰称为抽象...
    99+
    2024-04-02
  • Java超详细讲解ThreadLocal类的使用
    目录Threadlocal有什么用:ThreadLocal使用实例API介绍ThreadLocal的使用Threadlocal 的源码分析原理源码内部类ThreadLocalMapT...
    99+
    2024-04-02
  • Java超详细分析抽象类和接口的使用
    目录什么是抽象类抽象类语法总结抽象类:接口怎么定义接口接口间的继承几个重要的接口接口comparablecomparator接口-比较器cloneable接口深入理解深拷贝与浅拷贝怎...
    99+
    2024-04-02
  • Java超详细讲解类的继承
    目录写在前面1.子类的创建1.1子类的创建方法1.2调用父类中特定的构造方法2.在子类中访问父类成员3.覆盖3.1覆盖父类中的方法3.2用父类的对象访问子类的成员4.不可被继承的成员...
    99+
    2024-04-02
  • Java超详细讲解类变量和类方法
    目录1.static静态变量2.类变量(静态变量的访问)3.类方法1.static静态变量 1.静态变量被同一个类的所有对象共享 2.static类变量在类加载的时候就生成使用 st...
    99+
    2024-04-02
  • Java超详细讲解接口的实现与用法
    目录1.接口的定义2.接口的实现3.接口的引用4.接口的继承5.利用接口实现多重继承1.接口的定义 接口是一种特殊的抽象类,是Java提供的一个重要的功能,与抽象类不同的是: 接口的...
    99+
    2024-04-02
  • Java超详细讲解ArrayList与顺序表的用法
    目录简要介绍Arraylist容器类的使用Arraylist容器类的构造ArrayList的常见方法ArrayList的遍历ArrayList中的扩容机制简要介绍 顺序表是一段物理地...
    99+
    2024-04-02
  • Java类与对象超基础讲解
    目录什么是面向对象面向过程与面向对象类与对象的使用类与对象的使用与说明对象的初始化this的使用构造方法this可以调用本类的构造方法什么是面向对象 Java语言是一个纯面向对象的语...
    99+
    2024-04-02
  • Java多态性抽象类与接口细致详解
    目录1、多态性1.1向上转型1.2向下转型2、抽象类2.1抽象类的基本概念3、接口3.1接口的基本概念3.2接口的使用限制3.3使用接口定义标准3.4抽象类与接口的区别1、多态性 多...
    99+
    2024-04-02
  • Java详细讲解不同版本的接口语法和抽象类与接口的区别
    目录什么是接口?接口的语法: (JDK7.0)接口的语法: (JDK8.0)接口的语法: (JDK9.0)—(私有方法)接口的分类常量接口:空接口:函数式接口:什么是接口...
    99+
    2024-04-02
  • Java超详细讲解hashCode方法
    目录1、介绍一下hashCode方法2、为什么需要hashCode方法?3、hashCode(),equals()两种方法是什么关系?4、为什么重写 equals 方法必须重...
    99+
    2024-04-02
  • JavaScriptES6中类与模块化管理超详细讲解
    目录前言类类的继承1、基本概念2、继承的实现ES6的模块化管理1、Node.js简介2、安装Node.js3、ES6中的模块化管理前言 在学习类之前我们先来了解一下面向对象和面向过程...
    99+
    2023-01-11
    JS ES6类与模块化管理 JS ES6模块化管理
  • Java 超详细讲解核心类Spring JdbcTemplate
    目录JdbcTemplate概述JdbcTemplate开发步骤JdbcTemplate快速入门Spring产生JdbcTemplate对象JdbcTemplate的常用操作修改操作...
    99+
    2024-04-02
  • 详解Java抽象类与普通类的区别
    浅谈抽象类 在面向对象概念中,所有的对象都是通过类来描述的,但是反过来,并不是所有的类都是用来描述对象的.如果一个类中没有足够多的信息来描述一个具体的对象,这样的类就是抽象类。 ...
    99+
    2024-04-02
  • Java多态与抽象类的使用与原理是什么
    这篇文章主要介绍“Java多态与抽象类的使用与原理是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java多态与抽象类的使用与原理是什么”文章能帮助大家解决问题。我们知道Java的三大特性:封装...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作