浅谈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关键字共存内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • JavaSE图像验证码简单识别程序详解

    JavaSE图像验证码简单识别程序详解

    这篇文章主要为大家详细介绍了JavaSE图像验证码简单识别程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • Java过滤所有特殊字符的案例

    Java过滤所有特殊字符的案例

    这篇文章主要介绍了Java过滤所有特殊字符的相关资料,包括java中清理所有特殊字符及java正则过滤特殊字符的方法,感兴趣的朋友跟随小编一起看看吧
    2024-02-02
  • JPA 查询原生SQL转换VO对象方式

    JPA 查询原生SQL转换VO对象方式

    这篇文章主要介绍了JPA 查询原生SQL转换VO对象方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • Java多线程 ThreadLocal原理解析

    Java多线程 ThreadLocal原理解析

    这篇文章主要介绍了Java多线程 ThreadLocal原理,ThreadLoal 变量,线程局部变量,同一个 ThreadLocal 所包含的对象,在不同的 Thread 中有不同的副本,下面文章也是围绕Java多线程 ThreadLocal展开内容,需要的朋友可以参考一下
    2021-10-10
  • Java使用正则表达式检索、替换String中特定字符和正则表达式的一切

    Java使用正则表达式检索、替换String中特定字符和正则表达式的一切

    这篇文章主要给大家介绍了关于Java使用正则表达式检索、替换String中特定字符和正则表达式的一切,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • mybatis中的异常BindingException详解

    mybatis中的异常BindingException详解

    这篇文章主要介绍了mybatis中的异常BindingException详解,此异常是mybatis中抛出的,意思是使用的这个方法找到,但是因为mapperScan()已经扫描到了Mapper类了,在绑定Mapper.xml时没有绑定到导致的,需要的朋友可以参考下
    2024-01-01
  • Java数据结构之链表实现(单向、双向链表及链表反转)

    Java数据结构之链表实现(单向、双向链表及链表反转)

    这篇文章主要给大家介绍了关于Java数据结构之链表实现的相关资料,其中包括单向链表、双向链表及链表反转的实现代码,需要的朋友可以参考下
    2021-06-06
  • Java private修饰符失效的原因

    Java private修饰符失效的原因

    在Java编程里,使用private关键字修饰了一个成员,只有成员内部可以访问,其余成员都不可访问,今天说明一下private功能失效的问题。
    2020-10-10
  • SpringBoot在IDEA中实现热部署的步骤

    SpringBoot在IDEA中实现热部署的步骤

    这篇文章主要介绍了SpringBoot在IDEA中实现热部署的步骤,帮助大家更好的理解和使用springboot框架,感兴趣的朋友可以了解下
    2020-11-11
  • SpringBoot使用H2嵌入式数据库的实例代码

    SpringBoot使用H2嵌入式数据库的实例代码

    本文通过实例代码给大家介绍了SpringBoot使用H2嵌入式数据库的相关知识,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2021-10-10

最新评论