返回顶部
首页 > 资讯 > 精选 >Java中抽象的作用是什么
  • 131
分享到

Java中抽象的作用是什么

2023-06-20 19:06:31 131人浏览 安东尼
摘要

本篇文章给大家分享的是有关Java中抽象的作用是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Java基础知识(抽象)抽象抽象是从众多的事物中抽取出共同的、本质性的特征,而

本篇文章给大家分享的是有关Java中抽象的作用是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

Java基础知识(抽象)

抽象

抽象是从众多的事物中抽取出共同的、本质性的特征,而舍弃其非本质的特征的过程。具体地说,抽象就是人们在实践的基础上,对于丰富的感性材料通过去粗取精、去伪存真、由此及彼、由表及里的加工制作,形成概念、判断、推理等思维形式,以反映事物的本质和规律的方法。

抽象定义

在继承过程中,我们知道父类的方法可以子类进行重写,而每个子类各自的实现都不尽相同。就好比动物都有吃的方法行为吧,而每个动物的子类对于吃的东西都可能不是相同滴,可是这导致了什么呢?

我们定义父类的方法主体是不是就没有任何意义了,因为在子类调用方法过程中,是调用了自己重写的方法,而不是父类的方法。

也就是说,父类声明了方法,子类去各自实现该方法即可。代表着父类可以不知道具体实现是什么,但是清楚的有什么方法是需要的。所以方法父类完全只需要提供一个没有方法体的方法签名即可,具体实现交给子类自己去实现。

而我们对于这种没有方法体的方法称为抽象方法。在Java语法规定,包含抽象方法的类就是抽象类。

  • 抽象方法 : 没有方法体的方法。

  • 抽象类:包含抽象方法的类。

定义抽象的关键字:abstract,接下来看看如何使用吧!

abstract的使用

abstract是抽象的意思,用于修饰方法方法和类,修饰的方法是抽象方法,修饰的类是抽象类。

抽象方法:

使用abstract 关键字修饰方法,该方法就成了抽象方法,抽象方法只包含一个方法名,而没有方法体。

定义格式:

权限修饰符 abstract 返回值类型 方法名 (参数列表);

代码如下:

public abstract void eat();

抽象类:

如果一个类包含抽象方法,那么该类必须是抽象类。

注意:抽象类不一定有抽象方法,但是有抽象方法的类必须定义成抽象类。

定义格式:

abstract class 类名字 { }

代码如下:

public abstract class Animal {    public abstract void eat();}
定义抽象类

我们将之前的动物类改造成抽象类,然后吃的方法也改造成抽象方法。

注意:一旦定义为抽象类后,子类继承父类时,是必须重写里面的抽象方法。

定义抽象父类:

package com.na.pojo;public abstract class Animal {    // 定义为抽象方法后,无需去做方法实体的实现!    public abstract void eat();}

定义子类:

猫咪:

package com.na.pojo;public class Cat extends Animal{    // 抽象类的方法必须重写,不然编译会不通过。    public void eat() {        System.out.println("小喵咪都喜欢吃鱼罐头!");    }        public void playBall() {        System.out.println("小喵咪都喜欢小球!");    }}

小狗:

package com.na.pojo;public class Dog extends Animal{    // 抽象类的方法必须重写,不然编译会不通过。    public void eat() {        System.out.println("小狗狗都爱啃骨头!");    }    public void walk() {        System.out.println("小狗在被我溜着!");    }}

定义测试类:

package com.na;import com.na.pojo.Animal;import com.na.pojo.Cat;import com.na.pojo.Dog;public class Demo {    public static void main(String[] args) {        // 创建抽象类,抽象类不能创建对象//Animal animal = new Animal();//        animal.eat();        // 创建小猫咪        Cat cat = new Cat();        cat.eat();        cat.playBall();        Dog dog = new Dog();        dog.eat();        dog.walk();    }}

得到结果:

小喵咪都喜欢吃鱼罐头!
小喵咪都喜欢小球!
小狗狗都爱啃骨头!
小狗在被我溜着!

类的大致结构:

Java中抽象的作用是什么

注意:假设抽象类可以创建对象,但是呢,里面的抽象方法是没有方法体给我们去实现,从而程序也是无法执行,所以不让我们创建对象。

抽象类的一些注意点

对于抽象类的使用,以下为抽象类的使用上要注意的细节:

1.抽象类不能创建对象,如果创建,编译无法通过而报错。只能创建其非抽象子类的对象。

假设创建了抽象类的对象,调用抽象的方法,而抽象方法没有具体的方法体,没有意义。

2.抽象类中,可以有构造器,是供子类创建对象时,初始化父类成员使用的。

子类的构造方法中,有默认的super(),需要访问父类构造方法。

package com.na.pojo;public abstract class Animal {    private String name;    private int age;    // 可以有构造器    public Animal(){    }    // 甚至可以有参构造器    public Animal(String name, int age){        this.name = name;        this.age = age;    }    // 定义为抽象方法后,无需去做方法实体的实现!    public abstract void eat();}

3.抽象类中,不一定包含抽象方法,但是有抽象方法的类必定是抽象类。

未包含抽象方法的抽象类,目的就是不想让调用者创建该类对象,通常用于某些特殊的类结构设计。

4.抽象类的子类,必须重写抽象父类中所有的抽象方法,否则子类也必须定义成抽象类,编译无法通过而报错。

如果子类不重写所有抽象方法,则类中可能会包含抽象方法。那么在创建对象后,调用抽象的方法,没有意义。

5.抽象类存在的意义是为了被子类继承,抽象类体现的是模板思想。

抽象类中已经实现的是模板中确定的成员,抽象类不确定如何实现的定义成抽象方法,交给具体的子类去实现。

以上就是Java中抽象的作用是什么,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网精选频道。

--结束END--

本文标题: Java中抽象的作用是什么

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

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

猜你喜欢
  • Java中抽象的作用是什么
    本篇文章给大家分享的是有关Java中抽象的作用是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Java基础知识(抽象)抽象抽象是从众多的事物中抽取出共同的、本质性的特征,而...
    99+
    2023-06-20
  • java中抽象类有什么作用
    抽象类在Java中有以下作用:1. 定义共同的属性和方法:抽象类可以包含属性和方法的定义,这些属性和方法可以被其子类继承和重写。抽象...
    99+
    2023-08-11
    java
  • java抽象类的作用和意义是什么
    抽象类在Java中具有以下作用和意义:1. 封装共同的属性和方法:抽象类可以包含属性和方法,用于封装共同的特征和行为。这样可以避免在...
    99+
    2023-10-08
    java
  • 什么是java抽象
    在计算机科学中,抽象是一种过程,在这个过程中,数据和程序定义的形式与代表的内涵语言相似,同时隐藏了实现细节。抽象:一个概念或者想法不和任何特定的具体实例绑死。什么是抽象简单地说:“抽象只从正确的角度,透露对象的某些相关细节。”在面向对象编程...
    99+
    2016-12-21
    java入门 java 抽象
  • Java中的抽象是什么意思
    这篇文章主要介绍Java中的抽象是什么意思,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!前言:数据抽象是一种仅向用户显示基本细节的属性。不向用户显示琐碎或非必需的单元。例如:汽车被视为汽车而不是其单个组件。数据抽象也...
    99+
    2023-06-21
  • python抽象类的作用是什么
    Python中的抽象类是一种特殊的类,不能直接实例化,主要用于定义接口和规范子类的行为。 抽象类的作用如下: 定义接口:抽象类可...
    99+
    2023-10-25
    python
  • Java中什么是抽象工厂
    这篇文章将为大家详细讲解有关Java中什么是抽象工厂,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。抽象工厂模式1、什么是抽象工厂在现实生活中许多工厂是综合型的工厂,能生产多种类)的产品,就拿案例里面的可乐...
    99+
    2023-06-29
  • java什么是抽象类
    一、什么是抽象类由abstract修饰的方法叫抽象方法;由abstract修饰的类叫抽象类。抽象的类无法进行实例化,因为他不是具体存在的类,或者说这样的类还不够完善,不能直接使用new关键字调用其构造器生成该类的对象。我们可以使用abstr...
    99+
    2018-02-18
    java入门 java 抽象类
  • java抽象方法是什么
    Java中的抽象方法是一种没有具体实现的方法,只有方法的声明而没有方法体。抽象方法必须在抽象类中定义,且抽象类必须用abstract...
    99+
    2023-08-29
    java
  • Java中的抽象数据类型是什么
    本篇内容主要讲解“Java中的抽象数据类型是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java中的抽象数据类型是什么”吧!ADT一个ADT是一个仅由保存的数据类型和可能在这个数据类型上进...
    99+
    2023-06-17
  • java中抽象方法的特点是什么
    抽象方法是一种没有实现的方法,只有方法声明,没有方法体。它的特点包括:1. 抽象方法必须声明在抽象类或者接口中,用abstract关...
    99+
    2023-09-25
    java
  • Java的态和抽象类是什么
    这篇文章主要为大家展示了“Java的态和抽象类是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java的态和抽象类是什么”这篇文章吧。多态:我们知道Java的三大特性:封装、继承、多态。前两...
    99+
    2023-06-29
  • java抽象类的使用方法是什么
    在Java中,抽象类是一种不能被实例化的类,通常用于定义一些抽象方法和非抽象方法,用来作为其他类的模板或基类。抽象类使用方法如下: ...
    99+
    2024-03-13
    java
  • 知道java抽象类与抽象方法是什么吗?
    java抽象类与抽象方法是什么?在类的继承中,如果一个个新的子类被定义,子类变得越来越具体,父类变得更加一般和通用,类的设计应该保证父子类能够共享特征,有时将父类设计得非常抽象,使得父类没有具体的实例,这样的类叫做抽象类;一般当我们设计一个...
    99+
    2016-03-20
    java教程 java 抽象类 抽象方法
  • java中抽象类的作用有哪些
    本篇文章给大家分享的是有关java中抽象类的作用有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。什么是抽象类?这名字听着就挺抽象的,第一次听到这个名字还真有可能被唬住。但是...
    99+
    2023-05-31
    java ava
  • Java中抽象类和接口的区别是什么
    本篇内容介绍了“Java中抽象类和接口的区别是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在Java语言中, abstract cla...
    99+
    2023-06-17
  • Java中接口与抽象类的区别是什么
    本篇文章为大家展示了Java中接口与抽象类的区别是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一.抽象类在了解抽象类之前,先来了解一下抽象方法。抽象方法是一种特殊的方法:它只有声明,而没有具体...
    99+
    2023-05-31
    java 别是 ava
  • java中接口和抽象类的区别是什么
    抽象类可以包含成员变量,方法实现以及构造方法,而接口只能包含常量和抽象方法。 类可以实现多个接口,但只能继承一个抽象类。 ...
    99+
    2024-04-02
  • 数据抽象中有三个抽象级别是什么
    这篇文章给大家分享的是有关数据抽象中有三个抽象级别是什么的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。          &nb...
    99+
    2024-04-02
  • 什么是php抽象类和抽象方法
    这篇文章主要介绍“什么是php抽象类和抽象方法”,在日常操作中,相信很多人在什么是php抽象类和抽象方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”什么是php抽象类和抽象方法”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-20
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作