Java抽象类的概念讲解
简单来说
抽象类通常用来作为一个类族的最顶端的父类,用最底层的类表示现实中的具体事物,用最顶层的类表示该类族所有事物的共性。用abstract关键字类修饰一个类,该类叫做抽象类。
有抽象类那么肯定也有抽象方法,什么是抽象方法呢?
抽象方法就是有名字,形参列表,返回值,没有方法体的方法就做抽象方法。
抽象方法和抽象类的关系?
凡是没有方法体的方法必须使用关键字abstract修饰为抽象方法。
凡是含有抽象方法的类必须声明为抽象类。
abstract class A{ abstract public void f();//有抽象方法的一定是抽象类 } abstract class B{ public void f(){ //抽象类不一定有抽象方法 } }
我们从举例中可以看出A类方法中没有方法体,因此使用了关键字abstract并且A类也必须声明为抽象类。
抽象类中的多态:
abstract class a{ abstract public void f(); } class B extends A{ public void f(){ System.out.println("BBB"); } } public class text{ public static void main(String[] args){ A aa=new A();//错误,抽象类不能实例化 B bb=new B();//ok bb.f()//OK A aa;//抽象类可以定义一个抽象类的引用,但是不可以定义一个抽象类对象。 aa=bb;//利用抽象类的引用指向真正实现的子类,再利用多态调用其子类方法。 aa.f(); } }
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接
相关文章
详解Java中while和do-while循环、break的使用
本文介绍了循环结构语句while和do-while循环、break的使用,while循环语句通过流程图和语法语句结合一个求1~10的整数和的例子来帮助大家理解while循环的用法,感兴趣的朋友跟随小编来看看吧2020-11-11基于SpringBoot与Mybatis实现SpringMVC Web项目
这篇文章主要介绍了基于SpringBoot与Mybatis实现SpringMVC Web项目的相关资料,需要的朋友可以参考下2017-04-04AsyncHttpClient RequestFilter请求筛选源码解读
这篇文章主要为大家介绍了AsyncHttpClient RequestFilter请求筛选源码解读,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-12-12Spring MVC学习教程之RequestMappingHandlerMapping匹配
这篇文章主要给大家介绍了关于Spring MVC学习教程之RequestMappingHandlerMapping匹配的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧2018-11-11SpringBoot实现本地上传文件到resources目录
Java后端项目上传文件是一个很常见的需求,这篇文章主要为大家介绍了SpringBoot如何实现本地上传文件到resources目录永久保存下载,需要的可以参考一下2023-07-07spring mvc4.1.6 spring4.1.6 hibernate4.3.11 mysql5.5.25开发环境搭
这篇文章主要介绍了spring mvc4.1.6 + spring4.1.6 + hibernate4.3.11+mysql5.5.25开发环境搭建图文教程,需要的朋友可以参考下2016-06-06
最新评论