首页 > 编程语言 >Java重点 | 抽象

Java重点 | 抽象

时间:2022-11-24 10:33:05浏览次数:34  
标签:Java 方法 abstract 抽象 子类 抽象类 父类 重点

抽象

抽象的概念

在这里插入图片描述

抽象方法和抽象类的格式

抽象方法:就是加上abstract关键字,然后去掉大括号,直接分号结束。
抽象类:抽象方法所在的类,必须是抽象类才行。在class之前写上abstract即可。

例如:

在这里插入图片描述

抽象方法和抽象类的使用

如何使用抽象类和抽象方法: 1.不能直接创建new抽象类对象。 2.必须用一个子类来继承抽象父类。 3.子类必须覆盖重写抽象父类当中所有的抽象方法。 覆盖重写(实现):子类去掉抽象方法的abstract关键字,然后补上方法体大括号。 4.创建子类对象进行使用。

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

抽象方法和抽象类的注意事项

关于抽象类的使用,以下为语法上要注意的细节,虽然条目较多,但若理解了抽象的本质,无需死记硬背。

1.抽象类不能创建对象,如果创建,编译无法通过而报错,只能创建其非抽象子类的对象。

理解:假设创建了抽象类的对象,调用抽象的方法,而抽象方法没有具体的方法体,没有意义。

2.抽象类中,可以有构造方法,是供子类创建对象时,初始化父类成员使用的。

理解:子类的构造方法中,有默认的super0,需要访问父类构造方法。

3.抽象类中,不一定包含抽象方法,但是有抽象方法的类必定是抽象类。

理解:未包含抽象方法的抽象类,目的就是不想让调用者创建该类对象,通常用于某些特殊的类结构设计。

4.抽象类的子类,必须重写抽象父类中所有的抽象方法,否则,编译无法通过而报错,除非该子类也是抽象类。

理解:假设不重写所有抽象方法,则类中可能包含抽象方法,那么创建对象后,调用抽象的方法,没有意义。

特别注意:final和abstract不能联合使用,这两个关键字是对立的。

标签:Java,方法,abstract,抽象,子类,抽象类,父类,重点
From: https://blog.51cto.com/u_15841797/5882595

相关文章

  • Spring-纯Java创建一个SSM【webapp】
    纯Java搭建webappQuickStart使用纯Java来搭建一个SSM环境,即在项目中,不存在任何XML配置,包括web.xml1创建一个Maven工程引入依赖<!--TODO【Java创建SSM】1......
  • Java中的集合实现赌神、赌圣、赌侠斗地主
    ♣准备牌代码如下://定义一个存储54张牌的ArrayList集合,泛型使用StringArrayList<String>poker=newArrayList<>();//定义两个数组,一个数组存储牌的花色,一个数组存......
  • 在JavaScript中使用filter()的4个实用案例
    英文| https://medium.com/javascript-in-plain-english/4-practical-use-cases-of-using-filter-in-javascript-db46e2ec83b2翻译|web前端开发创建一个包含给定数组元......
  • 9 个功能强大的 JavaScript 技巧
    英文|https://dev.to/razgandeanu/9-extremely-powerful-javascript-hacks-4g3p​1、全部替换我们知道string.replace() 函数仅替换第一次出现的情况。你可以通过在正则......
  • Java帝国的诞生、Java的特性、Java的版本
    Java帝国的诞生C&C++1972年C诞生贴近硬件、运行极快、效率极高操作系统,编译器,数据库,网络系统等指针和内存管理1982年C++诞生面向对象兼容C图形领域、游戏等J......
  • java基于RSA生成公钥和私钥进行加密解密程序
    importsun.misc.BASE64Decoder;importsun.misc.BASE64Encoder;importjava.security.interfaces.RSAPrivateKey;importjava.security.interfaces.RSAPublicKey;importj......
  • Java: Switch
    Insteadofwriting many if..else statements,youcanusethe switch statement.intday=4;switch(day){//everycasewillbeaposibilityof"day"......
  • Java: Strings
    StringMethods:Stringtxt="HelloWorld";System.out.println(txt.toUpperCase());//Outputs"HELLOWORLD"System.out.println(txt.toLowerCase());//Outp......
  • Java: Type Casting
    InJava,therearetwotypesofcasting:WideningCasting (automatically)-convertingasmallertypetoalargertypesizebyte -> short -> char -> int......
  • Java: Primitive and Non-Primitive Data Types
    Primitivetypesarepredefined(alreadydefined)inJava.Non-primitivetypesarecreatedbytheprogrammerandisnotdefinedbyJava(exceptfor String).N......