java— 抽象类、接口、final、的理解和例子

抽象类、接口、final、的理解和例子


1.抽象类【abstract】

1.1理解:

使用了关键词abstract声明的类叫作“抽象类”。如果一个类里包含了一个或多个抽象方法,类就必须指定成 abstract(抽象)。“抽象方法”,属于一种不完整的方法,只含有一个声明,没有方法主体。此外,该方法必须对子类可见,因此要加只能加public 或者 protected! 抽象类不能被实例化(也就是不能new对象)。

1.2声明:

对父类进行抽象化、与父类的方法一样。

抽象类必须被继承、才能被使用。

抽象方法的作用是:用来被重载的方法。

1.3定义例子:

publicabstract class Func{

public abstract float fun ();

}



2. 接 口【interface】

1.1概念:

是抽象类的延伸、纯粹的特殊抽象类、是由全部的全局常量和抽象方法所组成的。接口的实现必须通过子类,使用关键字 implements实现一个或多个接口,子类也可以先继承后接口 。

1.2例子:

publicextends interface Inter1, Inter2{

public static final int ABC = 100;

public abstract void fun();

}


3.接口抽象区别:

Java接口和Java抽象类最大的一个区别,就在于Java抽象类可以提供某些方法的部分实现,而Java接口不可以,这大概就是Java抽象类唯一的优点吧,但这个优点非常有用。如果向一个抽象类里加入一个新的具体方法时,那么它所有的子类都一下子都得到了这个新方法,而Java接口做不到这一点,如果向一个Java接口里加入一个新方法,所有实现这个接口的类就无法成功通过编译了,因为你必须让每一个类都再实现这个方法才行,这显然是Java接口的缺点。

一个抽象类的实现只能由这个抽象类的子类给出,也就是说,这个实现处在抽象类所定义出的继承的等级结构中,而由于Java语言的单继承性,所以抽象类作为类型定义工具的效能大打折扣。在这一点上,Java接口的优势就出来了,任何一个实现了一个Java接口所规定的方法的类都可以具有这个接口的类型,而一个类可以实现任意多个Java接口,从而这个类就有了多种类型。

不难看出,Java接口是定义混合类型的理想工具,混合类表明一个类不仅仅具有某个主类型的行为,而且具有其他的次要行为。


4,。final 关键字

4.1理解:

final是java中的一个关键字,可以用来修饰变量、方法和类。用关键词final修饰的域成为最终域。用关键词final修饰的变量一旦赋值,就不能改变,也称为修饰的标识为常量。如果一个类的域被关键字final所修饰,它的取值在程序的整个执行过程中将不会改变。假如说整个类都是final,就表明自己不希望从这个类继承,或者不答应其他任何人采取这种操作。

4.2例子:

public static final int ABC = 100;



Far planner 代码系列(35)动态障碍物预处理_激光雷达部分 主要讲解动态障碍物在激光雷达部分的剔除机制 阅读详情

相关推荐

别再傻傻分不清了!STM32定时器里Prescaler和ClockDivision到底有啥区别?

本文深入解析STM32定时器中Prescaler和ClockDivision的区别与应用场景。Prescaler作为定时器的'心跳调节器',决定计数频率;而ClockDivision则是输入捕获的'抗噪滤镜',有效抑制高频噪声。通过实战案例和示波器实测数据,帮助开发者避免常见配置误区,提升嵌入式系统稳定性。

weixin_29193259的博客 319

java抽象类能使用 final 修饰吗?

在Java等面向对象的编程语言中,final关键字用于修饰类、方法和变量,表示它们是不可变的。而抽象类的主要目的就是作为其他类的基类,提供通用的接口和实现,因此抽象类必须能够被继承。由于final类和抽象类在特性上是相互矛盾的,所以一个类不能同时被声明为final和abstract。因为final方法表示该方法不能被任何子类重写,而抽象方法又必须在子类中被重写,所以这两个特性也是不兼容的。总的来说,final和abstract在Java等语言中的使用是有严格的限制的,它们不能同时用于修饰同一个类或者方法。

蜗牛Clear的博客 1094

Chapter2、HDR流水线

HDR内容的获取(不同曝光时间的图片合成) 相机响应函数 HDR视频

qq_55621259的博客 2597

【Java基础15】final关键字,抽象类,接口,多态,instanceof关键字

final关键字,抽象类,接口,多态,instanceof关键字

天赋决定上限,努力决定下限! 181

借助OSS搭建在线教育视频课程分享网站-阿里云的课程体验和记录

阿里云的《搭建在线教育网站》免费课程里面讲的啥,我点进去看了看

LegendNoTitle的博客 3023

akshare 布林通道策略

import datetime import pandas as pd import backtrader as bt import matplotlib.pyplot as plt from datetime import datetime import matplotlib import akshare as ak %matplotlib inline class Boll_strategy(bt.Strategy): #自定义参数,每次买入1800手 params=(('size'.

qq_26742269的博客 5344

java---final以及抽象类

静态变量(Static Variables)是属于类的变量,它们在类被加载时初始化,并且在整个类的实例之间共享。静态变量使用static关键字声明。其他类的实例可以通过类名直接访问静态变量,不需要创建对象的实例。静态变量在内存中只有一份拷贝,被所有实例共享。静态变量在类被加载时初始化,并且在整个类的生命周期内都存在。静态变量可以通过类名直接访问,不需要创建对象的实例。抽象方法(Abstract Methods)是没有具体实现的方法,只有方法的声明,没有方法体。

Flying_Fish_roe的博客 727

CH592F RISC-V蓝牙LED灯设计:WS2812B驱动与微信小程序控制

蓝牙低功耗(BLE)是嵌入式物联网设备主流无线通信技术,其核心在于协议栈轻量化、射频稳定性与外设协同调度。基于RISC-V内核的蓝牙SoC(如CH592F)凭借高集成度、低待机电流和免外部巴伦的射频设计,显著降低硬件复杂度与BOM成本;而WS2812B作为单线级联RGB LED,依赖微秒级精准时序,需借助定时器+DMA机制规避CPU干预,保障动态效果流畅性。该方案融合电容触摸交互、GATT服务自定义与微信小程序标准Bluetooth API对接,适用于智能照明、DIY彩灯及教学实践等场景,是BLE+LED实

weixin_31163455的博客 435

java抽象类能使用 final 修饰

在 Java 中,abstract和final关键字是相互排斥的,不能同时用于同一个类或方法。abstract关键字用于定义抽象类和抽象方法,旨在让子类继承并实现。final关键字用于防止类被继承、方法被重写或变量被修改。因此,一个类或方法不可能同时是abstract和final的。在设计类时,开发者应该根据需求选择合适的关键字。如果一个类需要被扩展,应该使用abstract;如果一个类不应该被扩展,应该使用final。

Flying_Fish_roe的博客 1189

图神经网络实战(7)——图卷积网络(Graph Convolutional Network, GCN)详解与实现

图卷积网络 (Graph Convolutional Network, GCN) 架构由 Kipf 和 Welling 于 2017 年提出,其理念是创建一种适用于图的高效卷积神经网络。在本节中,我们将讨论 Vanilla GNN 架构的局限性,并详细介绍 GCN 的工作原理,通过使用 PyTorch Geometric 在 Cora 和 Facebook Page-Page 数据集上实现 GCN 来验证其性能。

盼小辉丶的博客 2万+

YOLOv11改进 | 添加注意力篇 | 结合2024最新Mamba注意力机制MLLA助力yolov11有效涨点含二次创新C2PSA(全网独家首发改进)

本文给大家带来的改进机制是结合号称超越Transformer架构的Mamba架构的最新注意力机制MLLA,本文将其和我们YOLOv11进行结合,的原理是通过将Mamba模型的一些核心设计融入线性注意力机制,从而提升模型的性能。具体来说,MLLA主要整合了Mamba中的“忘记门”(forget gate)和模块设计(block design)这两个关键因素,同时MLLA通过使用位置编码(RoPE)来替代忘记门,从而在保持并行计算和快速推理速度的同时,提供必要的位置信息。

Snu77的博客 3873

[Java] 抽象类、final类和接口

抽象类、抽象方法、final类与final方法、为何需要final类、为何需要final方法、Java中的接口、定义接口、 实现接口

一以贯之的努力 不得懈怠的人生 2135

【华为OD机试真题 2025B卷】662、静态扫描 | 机试真题+思路参考+代码解析(C++、Java、Py)(B卷复用)

【华为OD机试真题 2025B卷】662、静态扫描 | 机试真题+思路参考+代码解析(C++、Java、Py)(B卷复用) 华为od机试,华为od机试真题,华为od机试E卷,华为odE卷,华为od机试真题E卷,华为OD,华为OD机试,华为OD机试真题,华为od机考,华为od机试D卷,华为od机试真题D卷,华为od手撕代码,华为od,华为od机试C卷,华为od e卷,华为2024e卷,od机试,2024E卷,华为OD机试E卷,什么是华为od,华为od介绍,全面了解华为od,2024华为od,如何备战华为od

KJ.JK 5401

java笔记— 抽象类、接口、final、的理解和例子

抽象类、接口、final、的理解和例子 1.抽象类【abstract】 1.1理解: 使用了关键词abstract声明的类叫作“抽象类”。如果一个类里包含了一个或多个抽象方法,类就必须指定成 abstract(抽象)。“抽象方法”,属于一种不完整的方法,只含...

chihuo2428的博客 136

计算机控制技术及应用

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

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

java之父求职_Java求职实战之继承和多态

1.final修饰变量时,是引用不能变,还是引用的对象不能变?是指引用变量不能变,引用对象的内容可以变。2.==和equals有什么区别?网上搜索一下,发现很多人解释的都比较清楚了。自己简单概括一下。==符号用于比较变量的值,如果是数值则直接比较就行,如果是引用类型,包括字符串类型,是比较引用对象的地址。但当比较String a= "Monday";String b ="Monday";if(a ...

weixin_31940053的博客 123

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

【java学习】面向对象知识点简要总结

摒弃繁杂、提纲挈领==把握重点 类与对象 人是类,张三是对象。 构造方法: 概念:在实例化对象时执行的方法。 如何定义: 1.不写返回值类型 2.方法体中没有return语句 3.方法名和类名相同 特性: 1.若不写构造方法,JVM自动加个空参空方法体的构造方法。写了构造方法则不会自动添加。 2.实例化时会调用相应参数的构造方法。 封装 private int age; public void setAge(int age){this.age=age}; 以private修饰属性,进而在类外只能通过s

VICI的博客 242

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Java6.面向对象编程(下)练习

1)下面关于接口的说法中不正确的是(C)。 A.接口中所有的方法都是抽象的 B.接口中所有的方法都是public访问权限 C.子接口继承父接口所用的关键字是implements D.接口是Java中的特殊类,包含常量和抽象方法 2)Java语言接口间的继承关系是(A)。 A.单继承 B.多重继承 C.不能继承 D.不一定 3)一个类实现接口的情况是(A)。 A.一次可以实现多个接口 B.一次只能实现一个接口 C.不能实现接口 D.不一定 1)____interface_是声明接口

SLSLSLSLSLSLS的博客 2589

Java 面试基础知识

● 若对一个类不重写,它的equals()方法是如何比较的? 比较是对象的地址。 ● 请解释hashCode()和equals()方法有什么联系? 参考回答: Java对象的eqauls方法和hashCode方法是这样规定的: ➀相等(相同)的对象必须具有相等的哈希码(或者散列码)。 ➁如果两个对象的hashCode相同,它们并不一定相同。 ● 请你讲讲abstract cla...

wwxy1995的博客 111

面向对象进阶8--包、修饰符、final、常量、枚举、抽象类、枚举

面向对象进阶8–包、修饰符、final、常量、枚举、抽象类、枚举 包 什么是包 权限修饰符 什么是权限修饰符&权限修饰符的作用范围 学完权限修饰符需要具备 代码演示 同一个类下4种情况 package modifiter; public class FU { // private 只能本类访问 private void showprivate(){ System.out.println("private"); } // void 本类,同一个包

peihj的博客 296

JAVA开发:十个JAVA代码查错方法

1.abstract class Name {   private String name;   public abstract boolean isStupidName(String name) {}}大侠们,这有何错误?答案: 错。abstract method必须以分号结尾,且不带花括号。2.public class Something {   void doSomething () {  ...

rcyl2003 156

华中地区某农业高校Java期末考试复习

用static修饰的方法,可以被所有对象访问,static方法内部代码只能访问类中static属性或方法,不能访问类中非static属性或方法(因为那是对象方法),但非static方法(对象方法)可以访问static数据成员......阿巴阿巴。如果实现接口的类不是抽象类,那么实现类中必须实现接口中的所有抽象方法;3.抽象类不能创建对象,必须派生子类,若子类是具体类,则具体类必须实现抽象类中所有抽象方法(覆盖),若子类还是抽象类,如果父类中已有同名abstract方法,则子类中不能再有同名的抽象方法。

2301_78959287的博客 759

初识Java【5】——继承、抽象类、接口

从继承讲到抽象类,再从抽象类讲到接口。诸多面试关键点:final关键字、super关键字、重写与重载的区别。知其然,知其所以然的详细解释,必须要让你一读就懂!

LU_ZE_XX的博客 4415

final关键字,认识抽象类,认识接口,认识内部类的四种形式

final关键字,认识抽象类,认识接口,认识内部类的四种形式

m0_72541008的博客 2139

Java(基础)(四)继承、重载、重写、多态、抽象类、接口、final、Static

本文摘要: 文章系统梳理了Java面向对象编程的核心概念。1)继承:单继承特性,子类继承父类属性和方法,Object为所有类的超类;2)重载:同一类中同名方法通过参数列表区分;3)重写:子类覆盖父类方法需遵循访问权限规则;4)多态:通过继承、重写和父类引用子类对象实现;5)抽象类与接口:抽象类定义模板规范,接口作为功能标准,区别在于继承关系与功能实现;6)静态成员:类级别属性和方法的特性及使用限制;7)工具类设计原则。全文通过概念解析和代码示例,完整呈现了Java面向对象的核心机制与设计思想。(150字)

weixin_73741891的博客 1353

Java中抽象类与接口

抽象类和接口是java中非常重要的知识点当我们在做子类共性功能抽取时,有些方法在父类中并没有具体的体现,这个时候就需要抽象类了!​ 在Java中,一个没有方法体的方法应该定义为抽象方法,而类中如果有抽象方法,该类必须定义为抽象类!接口就是一种公共的规范标准,只要符合规范标准,大家都可以通用。Java中接口存在的两个意义用来定义规范用来做功能的拓展抽象类和接口普遍存在于java中,许多东西都离不开他俩。

Yore7的博客 1585

抽象类和接口

接口,是Java语言中一种引用类型,是方法的集合,如果说类的内部封装了成员变量、构造方法和成员方法,那么接口的内部主要就是封装了方法,包含抽象方法(JDK 7及以前),默认方法和静态方法(JDK 8),私有方法(JDK 9)。接口的定义,它与定义类方式相似,但是使用interface关键字。它也会被编译成.class文件,但一定要明确它并不是类,而是另外一种引用数据类型。引用数据类型:数组,类,接口。[修饰符】 interface 接口名{//接口的成员列表:// 静态常量// 抽象方法。

小鱼儿的博客 996
上一篇: Java集合类详解之例子
下一篇: JSP 九大内置对象详解
AndyChen9988
博客等级 码龄11年 276粉丝 89原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值