浅谈Java abstract关键字不能和哪些关键字共存

 更新时间:2023年10月07日 08:27:18   作者:即使再小的船也能远航  
本文主要介绍了Java abstract关键字不能和哪些关键字共存,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

特点

  • abstract可以修饰类,也可以修饰方法;
  • abstract修饰的类可以被继承和实现,但是这个类本身不能被实例化;
  • 抽象方法必须在抽象类中,抽象类中可以有非抽象的方法;抽象类中可以没有抽象方法,这样做的作用是这个类不可以被实例化;
  • 抽象类的子类在继承抽象类后,必须把父类中的抽象方法重写,否则子类也会自动变为抽象类;
  • 抽象方法用于被子类继承后重写。即是父类的抽象方法是空的,必须由子类继承之后在子类中由子类实现,这可以达到不同子类可以根据自己的特性来定义自己从父类继承过来的抽象方法;
  • abstract修饰的类中的普通方法可以通过该抽象类的子类直接调用。

private ——冲突——abstract 的方法必须被子类重写,而 private 不能被继承

final——冲突——final 修饰的方法,变量都不能修改,而abstract 修饰的方法必须被重写

static——不能共从——无意义,static 是静态的,abstract 方法中无方法体,无法调用

示例代码:

AnimalParent.java

package com.面向对象.Demo27;
public abstract class AnimalParent {
    /**
     * 1. 我们的abstract关键字 不能够和 private
     * ∵ 如果抽象方法 改为 private 该方法是无法 被继承 无法被重写
     * 2. final 加在类上,意味着类是不能被继承 加在方法上 该方法是无法被重写
     * 3. static 该方法是静态方法,可以直接通过"类名.方法" 访问 方法体
     *      而抽象方法是没有方法体 具体实现 交给 父类
     */
//    private abstract void eat();       //abstract
//    public final abstract void eat();  //final
//    public static abstract void eat(); //static
    public abstract void eat();
}

到此这篇关于Java abstract关键字不能和哪些关键字共存的文章就介绍到这了,更多相关Java abstract关键字共存内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java编译命令和启动命令的使用方式

    java编译命令和启动命令的使用方式

    Java开发中,编译源文件需使用javac命令,该命令能将.java文件编译成.class字节码文件,后者可在JVM上运行,常用编译选项包括-d指定输出目录,-classpath设置类搜索路径等,启动Java程序使用java命令,它加载并运行包含main方法的类
    2024-10-10
  • Spring MVC+mybatis实现注册登录功能

    Spring MVC+mybatis实现注册登录功能

    这篇文章主要为大家详细介绍了Spring MVC+mybatis实现注册登录功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • SpringBoot实现接口数据的加解密功能

    SpringBoot实现接口数据的加解密功能

    这篇文章主要介绍了SpringBoot实现接口数据的加解密功能,对接口的加密解密操作主要有两种实现方式,文中给大家详细介绍,需要的朋友可以参考下
    2019-10-10
  • SpringBoot中的拦截器使用详解

    SpringBoot中的拦截器使用详解

    本文详细解析了Spring框架中的拦截器机制,通过自定义拦截器实现登录校验,并介绍了拦截器的执行流程、路径配置及适配器模式的应用,感兴趣的朋友一起看看吧
    2026-05-05
  • Java日期时间处理问题(从Date、Calendar到SimpleDateFormat)

    Java日期时间处理问题(从Date、Calendar到SimpleDateFormat)

    这篇文章主要介绍了Java日期时间处理深度解析(从Date、Calendar到SimpleDateFormat),我们详细讨论了Java中的日期和时间处理,包括Date、Calendar和SimpleDateFormat类的使用,以及Java 8引入的新的日期时间API的优势,需要的朋友可以参考下
    2024-08-08
  • 一篇文章让你彻底搞懂Java中VO、DTO、BO、DO、PO

    一篇文章让你彻底搞懂Java中VO、DTO、BO、DO、PO

    在java编程中我们常常需要做数据交换,那么在数据交换过程中就需要使用到实体对象,这就不可避免的使用到vo、dto、po等实体对象,这篇文章主要介绍了Java中VO、DTO、BO、DO、PO的相关资料,需要的朋友可以参考下
    2025-12-12
  • Spring MVC数据绑定方式

    Spring MVC数据绑定方式

    这篇文章主要介绍了Spring MVC数据绑定方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • 使用Spring Data Jpa查询全部并排序

    使用Spring Data Jpa查询全部并排序

    这篇文章主要介绍了使用Spring Data Jpa查询全部并排序,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • idea使用war以及war exploded的区别说明

    idea使用war以及war exploded的区别说明

    本文详细解析了war与warexploded两种部署方式的差异及步骤,war方式是先打包成war包,再部署到服务器上;warexploded方式是直接把文件夹、class文件等移到Tomcat上部署,支持热部署,开发时常用,文章分别列出了warexploded模式和war包形式的具体操作步骤
    2024-10-10
  • 5种java排序算法汇总工具类

    5种java排序算法汇总工具类

    这篇文章主要总结了java的快速排序,希尔排序,插入排序,堆排序,归并排序五种排序算法,感兴趣的小伙伴们可以参考一下
    2016-08-08

最新评论