首页 > 其他分享 >abstract class和interface有什么区别?

abstract class和interface有什么区别?

时间:2023-04-27 17:04:43浏览次数:45  
标签:实现 子类 abstract 接口 抽象 interface 抽象类 方法 class


声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。

接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。

 

黑色头发  http://heisetoufa.iteye.com

如果发现本文有误,欢迎批评指正

标签:实现,子类,abstract,接口,抽象,interface,抽象类,方法,class
From: https://blog.51cto.com/u_2543512/6231823

相关文章

  • [转]typeScript interface和type区别
    原文地址:https://www.jianshu.com/p/555e6998af36以下为截取的总结,详细请点击查看原文:总结interface和type很像,很多场景,两者都能使用。但也有细微的差别:不同点:扩展语法:interface使用extends,type使用‘&’同名合并:interface支持,type不支持。描述类型:对象、函数......
  • java出现class lombok.javac.apt.LombokProcessor错误
    出现:java:java.lang.IllegalAccessError:classlombok.javac.apt.LombokProcessor(inunnamedmodule@0x3278991b)cannotaccessclasscom.sun.tools.javac.processing.JavacProcessingEnvironment(inmodulejdk.compiler)becausemodulejdk.compilerdoesnotexpor......
  • class
    const[list,setList]=useState([]);classPerson{asynchandleList(data:()=>any,record:any){awaitdata().then((res:any)=>{record(res.data);});}}constperson=newPerson();useEffect(()=>{......
  • Correct the classpath of your application so that it contains a single, compatib
    1.背景有时候引入包有冲突,比如在Maven项目中的不同模块多次重复引入等这里遇到的问题是重复映入了如下包:<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.0-RELEASE</vers......
  • PGSQL系统表之 pg_class 记载表和几乎所有有字段或者是那些类似表的东西
     pg_classpg_class表记载表和几乎所有有字段或者是那些类似表的东西。包括索引(不过还要参阅pg_index)、序列、视图、物化视图、复合类型和一些特殊关系类型;参阅relkind。在下面,当指所有这些对象的时候说"关系"(relations)。不是所有字段对所有关系类型都有意义。表47-11......
  • This dataset does not have valid histogram required for classification method, r
     此数据集没有分类方法所需的有效直方图,请运行“计算统计信息”工具生成直方图。参考1:https://blog.csdn.net/soderayer/article/details/125409022参考2:https://blog.csdn.net/aGang_Gg/article/details/86690749 计算栅格统计信息......
  • jvm Classload method介绍
    1,jvmClassload默认几个重要方法介绍findClass:FindsandloadstheclasswiththespecifiednamefromtheURLsearchpath.找到class文件并把字节码加载到内存中,如果自定义的加载器仅覆盖了findClass,而未覆盖loadClass(即加载规则一样,但加载路径不同......
  • tomcat报错 removeGeneratedClassFiles failed
    1,tomcat切换用户重启后报错如下:Aug29,20142:14:47PMorg.apache.jasper.compiler.CompilerremoveGeneratedClassFilesWARNING:Failedtodeletegeneratedclassfile[/home/joeyon/test/work/Catalina/localhost/_/org/apache/jsp/WEB_INFO/c/common/errorIos_jsp.class]......
  • java.lang.NoClassDefFoundError: org/apache/commons/io/output/UnsynchronizedByteA
    java.lang.NoClassDefFoundError:org/apache/commons/io/output/UnsynchronizedByteArrayOutputStream  一、问题现象在导出Excel过程中,程序报错如下:Exceptioninthread"main"java.lang.NoClassDefFoundError:org/apache/commons/io/output/UnsynchronizedByteArra......
  • Java学习之六:“this”和“类名.this”以及“类名.class”的区分和详解
    目录 目录引言:1.Class类介绍:1.1Class类简介:1.2得到类对象的三个方法:1.3Class类的常用方法:2.this关键词:3.类名.this:4.总结 引言:对于以上三个语法结构的区分,需要先理解Class类所有对象的类以及调用了静态方法的类都需要在对象创建之前在JVM虚拟机中加载,加载内容被称为“类......