Java基础语法--接口和抽象类

【Java 基础语法】万字解析 Java 的多态、抽象类和接口 JVM,JAVA集合,JAVA多线程并发,JAVA基础,Spring原理,微服务,Netty与RPC,网络,日志,Zookeeper,Kafka,RabbitMQ,Hbase,MongoDB,Cassandra,设计模式,负载均衡,数据库,一致性哈希,JAVA算法,数据结构,加密算法,分布式缓存,Hadoop,Spark,Storm,YARN,机器学习,云计算…网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。 阅读详情

一、接口类

(一)定义:接口类是一种抽象类型,定义一组方法或行为的规范,不提供具体的实现。要实现接口类必须提供这些方法的具体实现多用于实现多态和代码解耦。

(二)使用:(interface)

接口类的关键字:interface,他的定义是:public interface 接口名{接口的实现}

上面可知:Shape是一个接口类,里面有PI常量,诶?他不是被没被static final修饰吗?怎么是常量呢?待会来讲。好,初次之外还有计算面积的方法,但没有具体的实现,还有计算周长的方法也没有具体的实现,和一个形状的方法,但他有实现。发现了吗?有点类似于继承啊。我可以用接口类中的方法和常量,对的,那么有什么区别呢?我们先来看几个接口类的特点

接口类特征:

1.接口类中不能有普通的成员方法,但可以有default定义的方法,可以有具体的实现,就像上面,有shape方法,里面内容是打印“通用方法”,如下图,不能定义普通成员方法。

2.接口中的方法如果被static修饰,那么可以有具体的实现。

3.接口类不能通过new关键字实例化(非常重要)

4.通过关键字implements来实现接口public class 类名 implements 接口名{类的实现};具体看第二张图片,长方形类实现了shape的接口。

5.接口可以发生向上转型和动态绑定。和继承类似,接口中没有的方法不能使用,只能使用接口中有的方法。动态绑定就是接口调用实现类实现的方法。

6.当一个类实现接口后,必须加上public修饰。这是为什么呢?本节后面会讲。

7.接口中不能有构造方法和代码块。首先,我们知道接口不能被new,也就是不能被实例化,自然构造方法就没什么用,也就不能有构造方法,而且实例代码块也是在实例化的时候调用的,那么不能被实例化自然不能有实例代码块。静态代码块是类在加载的时候被加载的,而接口中的成员是static修饰的,不需要静态代码块。

8.接口中的成员变量默认是public staitc public 修饰的,成员方法默认是public abstract修饰的,这也就是为什么接口中的方法必须被重写的原因,那么成员变量默认被public static修饰,自然就是常量,也就是上面为什么PI是常量的原因。好,方法默认是public修饰,这就是为什么实现接口必须加上public修饰,前面章节讲到,重写权限必须大于等于被重写的方法。

(三)自定义类型比较器(Comparable<T>)

我们可以通过Comparable 接口来实现比较大小,但必须重写compareTo方法。进阶版如下:

二、抽象类(abstract)

抽象类非常简单

(一)定义:一个类中没有包含足够信息来描述一个具体的对象

(二)特征:

1.抽象类就是为了继承而生,它不能被实例化(只能被继承),也就是和接口一样,不能被new,它只要目的是为了继承。

2.被abstract修饰的方法叫抽象类,这个类可以没有具体的实现。

只有被abstract修饰的方法才能不被实现,上面的eat没被abstract修饰,所以他必须有实现方法,比如我们可以打印“吃粮食”;看下图就是抽象方法和普通方法的区别之一。

2.当一个类中含有抽象方法后,那么它必须被abstract修饰。

3.当一个普通类继承了抽象类后,普通类一定要重写抽象类中所有的抽象方法。

由于我没有重写Animal中的sound方法,他就闪红线了,而如果将sound方法补全就可以了。

4.如果一个类A不想被类B继承,就可以吧类B改成抽象类,但是,欠了的迟早要还,当我们有普通类继承抽象类B时,要重写抽象类A和抽象类B中所有的抽象方法。即抽象类A被抽象类B继承,普通类C继承抽象类B要重写A和B中所有的抽象方法。如果B中已经重写了A中部分抽象方法,那么那些抽象方法可以不被C重写。

(三)匿名对象

也就是没有名字的对象,每次要使用的时候需要重新实例化。

第一个吃粮食是实例化了dog,调用dog的eat打印的。

而第二次吃粮食是匿名对象,当运行完eat()后,就找不到对象了,下次实例化又是另一个对象。

那么,今天的抽象类和接口类到此为止,下一期预告:拷贝和内部类。点点关注不迷路!!!

NFS服务器配置与autofs自动挂载 NFS服务器配置autofs自动挂载 环境: hostname ip OS server 192.168.220.138 centos7 client 192.168.220.139 centos7 一、NFS概述 NFS(Network File System)网络文件系统。最大功能就是通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。 二、端口 [root@se... 阅读详情

相关推荐

用大白话讲解Carplay(原创)

用大白话讲解Carplay: Carplay是美国苹果公司开发的一套服务,用户通过这套服务可以将iPhone与车载系统连接,然后在车载大屏上操作使用iPhone手机。个人理解,Carplay不能叫车载系统,不是操作系统,只能算一种服务。让你在车上的大屏上使用iPhone,这样用起来更方便,不需要在手机小屏幕上操作。基于这一点,有些人也说Carplay就是个投屏的功能,将手机屏幕投屏到了车机大屏上。可以简单这么理解,但是并不只是投屏这么简单,如果只是投屏的话,车子只是起到了一个显示器的功能,其实不止,手机和

cici2013的专栏 2万+

【Java基础语法】抽象类和接口

本文总结了抽象类和接口的概念,语法,以及注意事项,作用,以及抽象类与接口的区别,和相关代码实例。

GGBond778的博客 1245

QuickFix Java 讲解(一)概述、下载方法,和协议内容

本系列力求手把手教你怎样利用QuickFix Java 搭建自己的 FIX 协议收法平台,以及其中的注意事项。 所有源码的地址(免费): https://github.com/zongzhec/QuickFixPractise 1. 什么是FIX,QuickFix,Quick Java? 1.1. 什么是FIX 官网以及其他翻译自官网的帖子都太官方了,这里我们设想一个情景: 你是一个交易员,现在客户打电话来让你下个单买点股票。你啪啪啪的在你的机器上熟练地输入了下单指令。系统显示:成...

4574

Java基础语法之抽象类和接口

并不是所有的类都是用来描述对象的,这样的类就是抽象类例如,矩形,三角形都是图形,但图形类无法去描述具体图形,所以它的draw方法无法具体实现,这个方法就可以没设计成抽象方法,这个类就是抽象类但它里面的普通成员变量及方法只能通过子类对象来调用其中,shape引用是发生了向上转型的,而reck就是一个子类的引用,由于有继承关系,所以可以通过子类引用来调用抽象类的方法接口就是公共的行为标准,大家在实现时,只要符号规范标准就可以通用。具体点说,接口就是多个类的公共规范,是一种引用数据类型。

zyh20050430的博客 970

基于Python+OpenCV中文及符号检测

一、项目背景与意义在图像处理、文档识别、自动翻译等场景中,中文及符号的准确检测是一个重要且复杂的任务。传统的字符检测方法往往对英文等拉丁字母系的识别效果较好,但对中文及特殊符号的识别准确率较低。本项目旨在利用Python编程语言结合OpenCV库,开发一个能够高效、准确地检测图像中中文及符号的系统,为相关领域的研究和应用提供技术支撑。二、技术实现图像预处理:利用OpenCV的图像处理功能,对输入的图像进行灰度化、二值化、滤波去噪等预处理操作,以提高中文及符号检测的准确性[1]。

2301_79809972的博客 1120

AD21导出gerber文件

文件–>制造输出–>Gerber Files 文件–>制造输出–>Gerber Files 通用、光圈和高级跟第一步一样 3.文件–>制造输出–>NC Drill Files 这个默认就可以了 主要参考视频来自bilibili添加链接描述 此篇博客主要是写给自己好记的,无其他商业用途 ...

新手小杨 1万+

JAVA SE 基础语法 —— I / 抽象类和接口

简化接口实现,实现子类仅需实现合并后的接口,无需单独实现多个父接口。:明确父类仅提供框架,具体实现由子类完成,符合 “开闭原则”:类未实现所有抽象方法时,需设为抽象类;多态扩展:方法参数用接口类型,可接收所有实现该接口的对象(如。:抽象类可包含普通方法、属性及构造方法,仅抽象方法无实现体。:多个类的公共规范,属于引用数据类型,仅包含抽象方法和常量。:解决 Java 单继承限制,一个类可实现多个接口(如。方法无实现体,必须由实现类重写,且重写时访问权限需为。抽象类可无抽象方法,但有抽象方法的类必为抽象类。

我会等 789

从零开始掌握OBD-II:汽车诊断开发的核心技术与实战解析

本文深入解析OBD-II汽车诊断系统的核心技术,包括ECU通信协议、故障码解析及诊断工具开发实战。通过详细的协议分析和代码示例,帮助开发者快速掌握汽车诊断开发技能,实现从零到精通的进阶。特别适合从事汽车电子开发和OBD检测的技术人员参考学习。

weixin_42528780的博客 439

初始Java篇(JavaSE基础语法)(7)抽象类和接口(上)

抽象类的概念、语法、特性、作用 接口的概念、语法、使用、特性

我要学编程的博客 2439

图像分割 - 使用Mask R-CNN模型在COCO数据集上进行图像分割任务

图像分割是计算机视觉领域的一个重要任务,它旨在将图像中的每个像素分类为对象或背景。Mask R-CNN是一种基于区域的卷积神经网络,可用于图像分割任务。它是Faster R-CNN的扩展,将目标检测与图像分割结合起来,能够同时检测和分割对象。在本博客中,我们将使用Mask R-CNN模型在COCO数据集上进行图像分割任务。我们将介绍如何下载和准备COCO数据集,以及如何使用Mask R-CNN模型进行训练和推理。

斌擎科技 1189

Xilinx FPGA资源解析与使用系列——Transceiver(六)关键时钟梳理之TXOUTCLK和RXOUTCLK

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Xilinx FPGA资源解析与使用系列——Transceiver(六)transceiver内部关键时钟梳理之TXOUTCLK和RXOUTCLK前言TXOUTCLKRXOUTCLK 前言 前面我们已经研读了 transceiver的参考时钟 和复位的相关内容。 但是随着内容的深入,越来越多的信号出现在我的面前。 例如 TXOUTCLK、TXUSERCLK、TXUSERCLK2 RXOUTCLK、RXUSERCLK、RXUSERCLK2

gzy0506的博客 8089

Java基础语法(九):抽象类和接口

在面向对象编程中,抽象类和接口是两种重要的概念,其定义和使用方式对于程序设计的质量和可维护性有着重要的影响。本文将介绍Java中抽象类和接口的基本概念、区别、使用场景以及代码示例,希望能够帮助读者更好地理解它们的概念与使用方式。一、抽象类抽象类(Abstract Class)是一种抽象的概念,其本身是一个类,但不能被直接实例化,而只能用作其子类的基类。抽象类可以定义抽象方法和具体方法,抽象方法指的是没有具体实现的方法声明,需要在子类中进行实现,具体方法则是已经实现的方法,子类可以直接调用它们。

分享是一种积极的生活态度~~ 1528

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

java基础语法-day20进阶-抽象类和接口

p493 抽象类 p494 抽象类无法创建对象但有构造方法 final修饰的类无法被继承,但是抽象类存在的意义就是被继承(抽象类无法实例化对象),所以抽象类前面不能加abstract。 p495 抽象类基础语法以及抽象方法 //这就是一个抽象方法 public abstract void doSome(); p496 回顾final关键字和抽象类 p497 非抽象类继承抽象类必须将抽象方法实现 注意方法重载和方法重写的区别 public class abstractTest02 {

不要回答的博客 275

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

【JAVA SE基础】抽象类和接口

抽象类和接口作为核心概念,发挥着不可或缺的作用,在本篇博客中,我们将探讨抽象类和接口的定义、特点及其实际应用。

2302_76707004的博客 1328

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

java基础(6)抽象类和接口

哈喽大家好吖,今天继续为大家带了java基础中也是比较关键的抽象类和接口,想要把这一部分理解透彻也是需要下大功力,那么让我们废话不多说,开始!

2301_81073317的博客 1335

【Java】抽象类和接口

在Java中,抽象类是一种特殊的类,用来表示具有一般特征和行为的抽象概念。它不能够直接实例化,而是作为其他类的基类或者父类来使用。抽象类通过在类声明中使用关键字abstract来定义。它可以包含抽象方法和非抽象方法。抽象方法是没有具体实现的方法,只有方法签名,用关键字abstract关键字修饰;非抽象方法则具有具体的实现。抽象类的主要目的是提供一种通用的基类,将相关的子类归类在一起,以便共享通用的属性和行为。它可以定义一些通用方法,供子类继承和实现。

qq_61635026的博客 2356

JavaSE 抽象类与接口

Java自我学习路线一、抽象类1. 抽象类概述二、接口 一、抽象类 1. 抽象类概述 类和类之间具有共同特征,将这些共同特征提取出来,形成的就是抽象类;类本身是不存在的,所以抽象类无法创建对象(即无法实例化) 抽象类属于引用数据类型 基础语法格式: [修饰符列表] abstract class 类名{ 类体; } 抽象类是无法实例化的,无法创建对象的,所以抽象类是用来被子类继承的,子类继承后可以实例化对象,另外,抽象类的子类可以是抽象类,也可以是非抽象类;虽然抽象类无法实例化,但是抽象类有构造方

Lv Zejiang 381

Java——抽象类和接口

在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。比如:在打印图形例子中, 我们发现,父类 Shape 中的 draw 方法好像并没有什么实际工作,主要的绘制图形都是由 Shape 的各种子类的 draw 方法来完成的.像这种没有实际工作的方法,我们可以把它设计成一个 抽象方法(abstract method),

qq_45559559的博客 147

Java学习总结-抽象类和接口【JavaSE】

抽象类和接口的知识总结。

qq_45965652的博客 158

什么是Java接口 、抽象类 以及它们的区别

深入理解Java的接口和抽象类 对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。今天我们就一起来学习一下Java中的接口和抽象类。下面是本文的目录大纲: 一.抽象类 二.接口 三.抽象类和接口的区别 一.抽象类 在了解抽象类之前,先来了解一下抽象方法。抽象方法是一种特殊的方法:它只有声明,而没有具体的实现。抽象方法的声明格式为: abstra

BBG_Clown的博客 520

抽象类和接口

1.接口 所以接口中的方法必须是public 1.interface中的方法默认为public abstract 的(用其他关键字,比如private、protected、static、 final等修饰会报编译错误) 2.变量默认为public static final(并且只能是public static final变量,用private修饰会报编译错误) 3.接口中所有的方法不能有具

sinat_34814635的博客 562

java——接口的基础语法

抽象类接口子类只能继承一个抽象类接口可以继承多个父接口子类使用extends 继承抽象类通过implements 实现多个接口抽象类中可以有实例成员、静态成员、抽象方法。抽象类中的成员不能使用default关键字接口中是能有常量、抽象方法。JDK8.0及其之后的版本中可以有static方法和default方法。抽象类中可以定义变量,也可以定义常量接口中只能定义常量(public static final修饰的变量)子类在实现抽象方法时不允许缩小访问权限。

Best_Basic的博客 635

Java学习----(六)抽象类,接口以及抽象类和接口的区别_抽象类和接口代码举例的区别

接口可以解耦合,解开的是谁和谁的耦合。任何一个接口都有调用者和实现者,接口可以将调用者和实现者解耦合,调用者面向接口调用,实现者面向接口编写实现。主板和内存条之间有插槽,这个插槽就是接口,内存条坏了,可以重新买一个换下来,这叫做高扩展力(低耦合度)。以后项目的开发,一般都是将项目分离成一个模块一个模块的,模块于模块之间采用接口衔接,降低耦合度。接口在开发中的作用,类似于多态在开发中的作用。

2401_84166811的博客 361

【JavaSE】抽象类和接口

接口和抽象类

weixin_61543874的博客 745

Java中的抽象类和接口

抽象类 什么是抽象类? 类和类之间有共同特征,将这些共同特征提取出来进一步抽象,就形成了抽象类。由于类是不存在的,所以抽象类无法创建对象。 抽象类属于什么类型? 抽象类也属于引用数据类型。 抽象类怎么定义? [修饰符列表] abstract class 类名{ 类体; } 抽象类是干什么的? 抽象类无法实例化,无法创建对象,所以抽象类是用来被子类继承的,抽象类中构造方法可以供子类使用。 final与abstract是对立的两个关键字,不能联合使用。 什么是抽象方法? 抽象方法表示没有实现的方法,没有方

m0_62969222的博客 668
上一篇: Java基础语法--继承和多态(2)
馒头HCLL
博客等级 码龄2年 31粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值