首页 > 编程语言 >java抽象类和抽象方法

java抽象类和抽象方法

时间:2023-04-17 22:22:14浏览次数:42  
标签:java abstract 抽象 类型 抽象类 方法 public

抽象类

语法:   

 [public]? abstract class 类名 [extends 父类名]? [implements 接口名1, 接口名2, ...]?  {       [private | protected | public]? [static]? [final]? 类型名 变量名[ = 表达式1 [, 变量名[ = 表达式2 ... ]?]?]? ;      [private | protected | public]?  类名 (类型名 参数名1 [,  类型名 参数名n]*) {  方法体 }      [private | protected | public]? [static]? [final]? 类型名 方法名(类型名 参数名1 [,  类型名 参数名n]*) {  方法体 }      abstract [protected | public]?  类型名 方法名(类型名 参数名1 [,  类型名 参数名n]*); } 主要是在类的声明上加上 abstract ,则类就是抽象类。 在抽象类中 或 接口中 的方法上加上  abstract,则该方法就是抽象方法。   抽象类进行实例化会直接报错,它只能作为父类。抽象类中可以没有抽象方法,也可以有多个抽象方法。 抽象类中可以有实例方法、静态方法、构造方法、成员属性。其实就是基于普通类,类体中多支持了增加抽象方法。 当一个类中: 1. 类体中明确声明有abstract方法时  2. 继承了另一个抽象类且没有实现父类中的全部抽象方法  3. 类实现了接口但没有实现其中的全部抽象方法 出现以上任何一种情况时,都必须将该类声明为抽象类。 抽象类也是一种类型,可以用来定义变量,但变量的值只能是其子类对象(因为抽象类不能有实例)。 抽象类的设计初衷是用于实现回调函数的功能(在实例方法中调用抽象方法,抽象方法由子类(用户)来实现,所以就相当于传了一个用户自定义的函数过来)。   抽象方法只能存在于抽象类中 或 接口中,且不写方法体,而是使用一个分号代替。 静态方法、构造方法、private方法、final方法 不能声明为抽象方法。 实例方法可以调用抽象方法(虽然这个方法还没实现)。  

标签:java,abstract,抽象,类型,抽象类,方法,public
From: https://www.cnblogs.com/xiafl/p/17327676.html

相关文章

  • Java RMI与RPC,JMS的比较
    JavaRMI与RPC,JMS的比较远程对象方法调用并不是新概念,远程过程调用(RPC)已经使用很多年了。远程过程调用被设计为在应用程序间通信的平台中立的方式,它不理会操作系统之间以及语言之间的差异。即RPC支持多种语言,而RMI只支持Java写的应用程序。[1]另外RMI调用远程对象方法,允......
  • Java性能分析比较:远程调用方法
    现在,Java远程调用方法很多,各种方法的优缺点网络上也有很多的参考文章,这次我对几个典型的Java远程调用方法做了一个简单的性能分析比较,可供大家参考。现在,Java远程调用方法很多,各种方法的优缺点网络上也有很多的参考文章,这次我对几个典型的Java远程调用方法做了一个简单......
  • JAVA 读取 ASF(WMA 和 WMV)文件信息
     /*读取ASF(WMA、WMV)标签*/publicstaticMusicTagEntityReadASFTag(Stringpath){ try { char[]WMAHead={0x30,0x26,0xB2,0x75,0x8E,0x66,0xCF,0x11,0xA6,0xD9,0x00,0xAA,0x00,0x62,0xCE,0x6C};//WMA头部标识 char[]StandardHead={0x33,0x2......
  • Java判断文件编码格式
    一般情况下我们遇到的文件编码格式为GBK或者UTF-8。由于中文Windows默认的编码是GBK,所以一般只要判定UTF-8编码格式。 对于UTF-8编码格式的文本文件,其前3个字节的值就是-17、-69、-65,所以,判定是否是UTF-8编码格式的代码片段如下:  java.io.Filef=newjava.io.File("待判定的......
  • Java字符串
    Java字符串String的特点程序当中所有用双引号括起来的东西都说字符串不管有没有生成String类1.字符串的内容永不可变(重点)2.字符串永不可变,所以可以共享使用3.字符串效果相当于char[]数组,但是底层原理是byte[]字节数组创建字符串创建字符串的3+1种方法构造方法:1.创......
  • 查找消耗cpu最高的Java进程
    #!/bin/bashif[-z"$1"];then###1.先找到消耗cpu最高的Java进程###pid=`ps-eopid,%cpu,cmd--sort=-%cpu|grepjava|grep-vgrep|head-1|awk'END{print$1}'`if["$pid"=""];then......
  • 坦克大战项目实践(Java)
     一、设计简介该项目是设计一个坦克大战小游戏,该游戏算不上精美,但是有始有终。有明确的游戏开始、单人模式、双人模式、游戏暂停和游戏失败等事件。设计内容包含图片双缓存技术,解决游戏屏幕闪动问题;还包含了击毁坦克的爆炸特效与子弹消失;还包含了碰撞检测,包括墙体和边界的。二......
  • c# 接口、抽象类
    接口概述接口像类一样声明,里面的成员可以包含方法的签名(是隐式public的且抽象的)、属性、事件和委托,但在接口中不可以定义数据成员(字段)和静态成员。与类不同的是,接口中仅仅是他们的声明,并不提供实现。因此接口是函数声明的集合。如果类或结构从一个接口派生,则这个类或结构负责实......
  • java查看对象占用内存的大小
    1.首先引入jar包lucene-core-4.7.2.jar<dependency><groupId>org.apache.lucene</groupId><artifactId>lucene-core</artifactId><version>4.0.0</version></dependency><depende......
  • 通过JAVA语言如何获取淘宝/天猫搜索词推荐
    Java是一种跨平台的、面向对象的高级编程语言,主要用来进行网站后台开发和AndroidAPP开发,同时它是全球最受欢迎的编程语言之一,在世界编程语言排行榜TIOBE中,Java一直霸占着前三名,有好多年甚至都是获得了第一名。那么为什么Java会如此受欢迎呢?Java是一种半编译型语言,开发比......