`
liuxinglanyue
  • 浏览: 562728 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Java牛角尖【001】:抽象类必须有抽象方法吗?

阅读更多

我们都知道,有抽象方法的类是抽象类,反过来说,抽象类都有抽象方法吗? 
  其实这个问题非常明白,用abstract修饰的类就是抽象类,并不是说抽象类中必须有抽象方法,即使一个类中的方法全部实现过,也可以用abstract修饰为抽象类,所以抽象类不一定都有抽象方法。 
  下面代码中是一个没有抽象方法的抽象类: 

Java代码 
  1. abstract class DemoClass{    
  2.         public void printMessage(String msg){    
  3.             System.out.println(msg);    
  4.         }    
  5.     }   

  看完这段代码,我不尽又想,这个类可以被实例化吗?我怎么去调用该类中的公共方法呢?通过 
Java代码 
  1. DemoClass d = new DemoClass();    

  这明显是不行的,抽象类不能被实例化,即使是一个没有抽象方法的抽象类,也同样不能被实例化。当然,还可以把printMessage方法改为static类型,那么就可以直接调用了,代码如下: 
Java代码 
  1. package net.moon.insignificant.abstractclass;    
  2.         
  3.     public class AbstractDemo {    
  4.         public static void main(String[] args) throws InstantiationException, IllegalAccessException, ClassNotFoundException{    
  5.             DemoClass.printMessage("Hello, World");    
  6.         }    
  7.     }    
  8.         
  9.     abstract class DemoClass{    
  10.         public DemoClass(){}    
  11.             
  12.         public static void printMessage(String msg){    
  13.             System.out.println(msg);    
  14.         }    
  15.     }    

分享到:
评论

相关推荐

    行业文档-设计装置-一种打磨成仿牛角尖外形的笔尖.zip

    在本设计装置中,我们探讨了一种创新的工艺方法,用于将笔尖打磨成仿牛角尖的外形。这种设计不仅在视觉上提供了独特的审美体验,还可能改善书写时的手感和性能。以下是对这个技术的详细阐述: 1. 设计理念:仿牛角...

    牛角包::croissant:轻巧却有用的BukkitSpigotPaper插件库

    牛角包 :croissant: 轻巧却有用的Bukkit / Spigot / Paper插件库。介绍Croissant是一个轻量级的Java库,它为Bukkit / Spigot / Paper插件提供了命令框架和GUI框架。 以下是其功能的简短摘要: 命令框架无需在插件的...

    电子:中国半导体:牛角峥嵘.pdf

    在深入解读《电子:中国半导体:牛角峥嵘》这篇报告之前,首先要明确几个核心的概念。首先,半导体是指那些在特定温度下导电性能介于导体和绝缘体之间的材料,常被应用于制造各种电子设备的微小组件中,如晶体管、...

    牛角座封装规格

    之前一直在找牛角座等各种插座的规格封装,很难找到,最后找到了

    牛角按摩梳使用方法.pdf

    很抱歉,由于提供的文件信息中【部分内容】中仅包含了一串数字,并...如果您能提供更具体的内容或详细说明文件中牛角按摩梳的使用方法,我将很乐意为您生成所需的知识点。请补充相关信息以便我能够准确回答您的需求。

    牛角包:Lu Lua REPL和调试器

    本文将深入探讨牛角包的功能特性、使用方法以及它如何提升Lua开发效率。 1. **什么是REPL?** REPL是编程环境中的一种标准工具,允许用户输入单行或一段代码,然后立即执行并返回结果。对于Lua这样的动态类型语言...

    原牛角源码(修罗bbs)全站程序打包带数据库备份

    原牛角源码(修罗bbs)全站程序打包带数据库备份,牛角源码全站数据+全站文件、插件打包分享给大家,有兴趣的可以搭建玩玩! conf文件夹中自己配置数据库链接文件,默认管理账号:admin,密码123456 首页登录后就可以...

    电子:中国半导体:牛角峥嵘.zip

    标题“电子:中国半导体:牛角峥嵘”揭示了这篇文档可能主要探讨的是中国在电子半导体领域的快速发展和崛起。描述中的“牛角峥嵘”是中国成语,用来形容事物发展势头强劲,暗示中国的半导体产业正展现出强大的竞争力...

    牛角工具箱源码 轻松打造个性化在线工具箱

    这是一款在线工具箱程序,您可以通过安装扩展增强她的功能 通过插件模板的功能,您也可以把她当做网页导航来使用 ...牛角工具箱源码 轻松打造个性化在线工具箱 安装依赖 full包,已安装依赖,无需重复安装

    牛角座接口接线方式及管脚对应

    ### 牛角座接口接线方式及管脚对应 #### 标准的牛角座接口接线方式及管脚对应 牛角座接口作为一种广泛应用于电子设备中的连接器,其标准化的设计确保了不同设备间的兼容性和可靠性。本文将详细介绍牛角座接口(以...

    elasticsearch5.3集成java所需jar包

    在Java开发中,Elasticsearch是一个非常重要的搜索引擎和分析引擎,它基于Lucene构建,提供了分布式、全文检索、实时分析的高性能数据存储解决方案。在Elasticsearch 5.3版本中,为了使其能够正常运行,我们需要集成...

    简易牛角座.IntLib

    简易牛角座.IntLib

    C++编译的牛角棋

    【C++编译的牛角棋】是一款基于C++编程语言开发的游戏,它可能是为了帮助初学者实践编程技能而创建的。在这个项目中,我们能够看到开发者如何运用C++的基本语法、控制结构、函数和可能的数据结构来实现一个简单的...

    java+localdatetime +工具类

    提取关于日期时间操作方法,形成工具类,提升开发效率

    java注解方式实现拦截接口重复提交

    在Java编程中,注解(Annotation)是一种元数据,它提供了在代码中插入信息的方式,这些信息可以被编译器或运行时环境用来执行特定的动作。在这个场景中,"java注解方式实现拦截接口重复提交"是为了解决一个常见的...

    电子:中国半导体:牛角峥嵘(2021)(173页).pdf

    电子:中国半导体:牛角峥嵘(2021)(173页).pdf

    OpenOffice 实现JPG.DOC转PDF转SWF在线预览(Java版)

    我们需要在Java项目中引入JODConverter的依赖库,然后创建一个OfficeManager实例,设置OpenOffice的路径和服务端口,接着就可以调用convert方法进行转换操作。例如,将一个DOC文档转换为PDF: ```java Office...

    牛角弯头三维CAD展开放样.pdf

    牛角弯头通常由多个圆锥形的管节组成,每个管节都有一定的弯曲角度和长度。由于其结构的复杂性,传统的牛角弯头放样方法往往需要较复杂的计算和绘图步骤,效率较低且容易出错。随着三维CAD技术的快速发展,特别是...

    OUPIIN 牛角接头1001系列端子3d

    【标题】"OUPIIN 牛角接头1001系列端子3d" 提供的核心信息是关于一种特定的电气连接器——OUPIIN的1001系列牛角接头,它具备3D设计特点。在电子工程领域,接头或端子是电路系统中至关重要的组成部分,用于安全可靠地...

Global site tag (gtag.js) - Google Analytics