当前位置: 首页 > news >正文

面向对象高级(接口内部类)2.0

面向对象高级(接口&内部类)

一.接口

1.1认识接口

Java提供了关键字interface,用它来定义接口这种特殊结构

格式

public interface 接口名{

//成员变量(默认常量)

//成员方法(默认抽象方法)

}

接口的使用:

1.接口是用来被类实现(implements)的,称之为实现类(伪继承 但是也是父子关系)

2.一个类是可以实现多个接口的(接口可以理解成干爹),类实现接口必须重写所有接口的全部抽象方法,否则这个类也必须是抽象类

接口调用方法

3.一个接口可以继承多个接口,接口同时也可以被类实现

1.2接口的好处

1.弥补了类单继承的不足,一个类可以实现多个接口

2.让程序可以面相接口编程,这样程序员可以灵活方便切换各种业务实现

1.3接口JDK8的新特性

接口JDK可以调用默认方法(实例方法)、私有方法、类方法(静态方法)

1.4接口的其他细节(了解)

注意事项: 一个接口可以继承多个接口 作用:便于实现类去实现

1.一个接口继承多个接口 如果多个接口中存在相同的方法声明 则此时不支持多继承

2.一个类实现多个接口 如果多个接口中存在相同的方法声明 则此时不支持多实现

3.一个类继承了父类 又同时实现了接口 父类中和接口中有同名的默认方法 实现类会有限使用父类的方法

4.一个类实现类多个接口 多个接口中有同名的默认方法 则这个类必须重写该方法

二.内部类

2.1成员内部类

成员内部类就是类中的一个普通成员 类似成员变量 成员方法

成员内部类创建格式

//外部类.内部类 变量名 = new 外部类().new 内部类();

Outer.Inner in = new Outer().new Inner();

//调用内部类的方法

in.test();

内部类访问成语的特点:

既可以访问内部类的成员 也可以访问外部类成员

如果内部类成员和外部类成员同名 可以使用 类名.this成员 区分

2.2静态内部类

静态内部类,其实就是在成员内部类的前面加了一个static关键字。静态内部类属于外部类自己持有

2.3局部内部类

局部内部类是定义在方法中的类 和局部变量一样 只能在方法中有效 所以内部类的局限性很强 一般在开发中是不会使用的

静态内部类创建对象格式

需要用外部类的类名调用

//格式:外部类.内部类 变量名 = new 外部类. 内部类();

Outer.Inner in = new Outer().new Inner();

in.test();

匿名内部类

匿名内部类是一种特殊的局部内部类;所谓匿名,指的是程序员不需要为类声明名字

匿名内部类本质上是一个没有名字的子类对象、或者接口的实现类对象

格式

new 父类/接口(参数值){

@Override

重写父类/接口的方法

}

匿名内部类有啥作用、应用场景
作用:简化了创建子类对象、实现对象的书写格式
可以更方便的创建出一个子类对象
场景:只有在调用方法时 当方法的形参是一个接口或者抽象类 为了简化代码书写 而直接传送匿名内部类对象给方法应用
匿名内部类通常作为一个参数传输给方法
匿名内部类的特点

匿名内部类本质就是一个子类 并会立即创建出一个子类对象

http://www.jsqmd.com/news/669500/

相关文章:

  • 大模型时代最后的符号堡垒,正在崩塌?——全球首份AGI融合技术成熟度评估报告(Gartner未发布版节选)
  • 【AGI科研加速器】:SITS2026实证揭示——3大学科突破如何被AGI在72小时内重构研究范式?
  • 2026年评价高的矿井矿用安全监控系统/智能通风安全监控系统热选公司推荐 - 品牌宣传支持者
  • 关于FLOPs与MACs的说明
  • MySQL触发器与存储过程的组合拳应用_复杂流程自动化控制
  • 在面向对象程序设计中,为什么引入了构造函数与析构函数?为什么构造函数与析构函数没有返回值?为什么在一个类中,析构函数只有一个,而不是有多个,与构造函数一一对应?以C++为例回答,必要请用代码说明。
  • JavaScript中单线程事件循环EventLoop的卡顿预警
  • 2026年热门的XPE泡棉/XPE减震垫优质厂家推荐榜 - 行业平台推荐
  • PyTorch模型量化避坑指南:从保存的int8模型到成功加载推理,我踩了哪些坑?
  • WaveTools鸣潮工具箱:全面提升游戏体验的终极解决方案
  • 2026年比较好的河南玉米/大棒玉米/夏播玉米厂家综合对比分析 - 行业平台推荐
  • 【仅限前200位技术决策者获取】SITS2026 AGI机器人集成框架:含3层安全隔离协议、2套ROS-AGI桥接中间件及商用授权红线清单
  • AGI规划能力到底强在哪?:拆解12类基准任务中的泛化性断层与认知跃迁临界点
  • 2026年热门的云南冷库风机批发/冷库风机批量采购厂家推荐 - 品牌宣传支持者
  • 如何通过 reflect.Value 获取切片的底层值
  • 2026年评价高的不含月桂醇牙膏用户口碑推荐厂家 - 品牌宣传支持者
  • Unity URP 实战:基于Kajiya-Kay与Marschner的头发着色器深度解析
  • 2026年质量好的斜床身数控车床/平床身数控车床/浙江重切数控车床推荐厂家精选 - 品牌宣传支持者
  • 2026年3月口碑好的钢格板供应商评测报告出炉,专业的钢格板推荐企业引领行业技术新高度 - 品牌推荐师
  • 为什么92%的AGI实验卡在探索阶段?6个被工业界隐瞒的关键评估指标
  • 线性筛还能这么用?一个‘球盒问题’带你玩转因子个数统计与模数玄机
  • 2026年质量好的龙门架杆件/扬州交通杆件/扬州信号灯杆件/电子警察杆件优质厂家推荐榜 - 行业平台推荐
  • Switch手柄在电脑上玩转PC游戏:BetterJoy功能详解与实战指南
  • OpenCore Legacy Patcher终极解决方案:4步完整技术指南让旧Mac焕发新生
  • 2026年评价高的XPE片材/XPE发泡材料稳定供货厂家推荐 - 品牌宣传支持者
  • Cross-View Geo-localization: From Landmark Graphs to Dynamic Matching
  • 【王炸组合】Hermes Agent 官方 UI 发布:本地白嫖 Google Gemma 4,零成本打造最强微信 AI 助手
  • 每天刷十几个平台的热榜太累了?我用一个页面全部搞定
  • OBS与手机摄像头协同录课:从零配置到高清输出的实战指南
  • CLIP-GmP-ViT-L-14效果展示:同一张图在不同语义层级(物体/属性/关系)的排序对比