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

面向对象高级(二)

目录

1.匿名內部类

2.Lambda表达式

3.String

4.ArrayLists集合


1.匿名內部类

是一种特殊的局部内部类

所谓匿名:指的是程序员不需要为这个类声明名字,默认有个隐藏的名字。

new 接口或类(参数值...){

类体(一般是方法重写);

};

new Aniaml(){ @override public void cry(){ } }

特点:匿名内部类本质上是一个子类,并会直接创建出一个子类对象

作用:用于更方便的创建一个子类对象

2.Lambda表达式

可以用于替代某些匿名內部类对象,从而让程序更加简洁,可读性更好

(被重写方法的形参列表)-> {

被重写的方法体代码。

}

注意:Lambda表达式只能替代函数式接口的匿名內部类

什么是函数式接口:有且仅有一个抽象方法的接口。

@FunctionalIterface声明函数式接口的注解

public class LambdaDemo1{ public static void main(String[] args){ Swim s1 = () -> { System.out.prinln("学生贼快"); } s1.swimming(); } } @FuctionalInterface interface Swin{ void swimming{}; }

简化规则:

参数类型全部可以省略不写。

如果只有一个参数,参数类型省略的同时“{}”也可以省略,但多个参数不能省略“{}”

如果Lambda中只有一行代码,大括号可以省略不写,同时要省略",",如果这行代码是return语句,也需去掉return语句。

静态方法引用:

类名::静态方法引用

使用场景:如果某个lambda表达式只是调用一个静态方法。并且”->“前后参数一致,就可以使用静态方法引用。

实例方法引用:

类名::实例方法引用

使用场景:如果某个lambda表达式只是调用一个实例方法。并且”->“前后参数一致,就可以使用静态方法引用。

特定类的方法引用:

特定的类名称::方法

Arrays.sort(names,String::compareToIgnose)

如果某个Lambda表达式只是调用一个特定类型的实例方法,并且前面参数列表的第一个参数是作为方法的主调,后面的所有参数都是作为该实例方法的入参的,则此时就可以使用特定类型的方法引用。

构造器引用:

类名::new

如果某个Lambda表达式只是在创建对象,并且“->”前后参数情况一致,就可以使用构造器引用。

3.String

构造器说明
public String()创建一个空白字符串内容,不含任何内容
public String(string original)根据传入的字符串内容,来创建字符串对象
public String(char[] chars)根据传入的字符数组,来创建字符串对象
public String (bytes[] bytes)根据传入的字节内容,来创建字符串对象

4.ArrayLists集合

常用方法名说明
public boolwan add(e)
public void add(int index ,E element)
public E get(int index)
public int size()
public E remove(int index)
public boolean removez(Object o)
public E set(int index, E element)
http://www.jsqmd.com/news/1135072/

相关文章:

  • 《Claude Code 工程化实战》第 11 讲 任务型 Skills 实战
  • 搜索功能能实现
  • Three.js 溶解教程
  • Docker Compose多容器编排与微服务架构部署
  • GSMA TAC 数据库实战:3 种方法查询 26 万+ 设备型号与芯片信息
  • 全网资源批量下载终极指南:3分钟学会跨平台资源采集神器
  • 10 道大厂高频面试易错题|拆解面试官底层考察逻辑,低分 / 标准 / 高分三套回答模板直接套用
  • 羽球联盟 HarmonyOS NEXT 实战系列 (07/20):NavBar、SearchBar、SegmentTab与卡片组件复用
  • 工业级条码识别系统:LV30与TM4C129XKCZAD的硬件设计与优化
  • Kimi LeetCode 3485. 删除元素后 K 个字符串的最长公共前缀 Python3实现
  • 2026网文剧本AI工具TOP5比对实测:炼字工坊凭啥力压deepseek?
  • 科研数据可视化新解法:paperxie 一站式 AI 科研绘图,告别 Origin 绘图低效难题
  • 【TwinCAT3运动控制】虚拟轴创建、电子齿轮耦合与寻参功能全解析
  • Kong Audio 3.1.5中文一键安装版 空音3中文版2026最新版中文民乐音色库马头琴音源 Kong Audio Qin Engine 3.1.5中国民乐全套音源下载KongAudio3.15
  • Decoupled and Reusable Adaptation for Efficient Cross-Modal Transfer
  • 【GIS工具】坐标转换工具V2.9发布:支持控制点拟合/残差分析/SHP批量转换
  • PDT集群信令丢包溯源与弱网补偿优化——东北林区广域组网专项优化
  • CTF实战:利用IDNA编码绕过校验与Nginx配置泄露漏洞分析
  • AI 绘图解放科研手作,paperxie 分层制图工具搞定全学科论文可视化
  • Contrastive Clustering (CC) 实战:PyTorch 复现 CIFAR-10 聚类精度 0.705 NMI
  • IMU与MCU硬件协同实现6DoF姿态解算实战
  • PU-Learning 两阶段实战:间谍技术与1-DNF识别可靠负样本的3步代码实现
  • LTC6904与MK64FN1M0VDC12实现高精度方波生成方案
  • Kimi LeetCode 3480. 删除一个冲突对后最大子数组数目 C语言实现
  • Windows 11开始菜单失效:专业级修复方案与ExplorerPatcher深度技术解析
  • BigCLAM 算法 Python 实现:从 AGM 模型到 4 社区划分的 100 步梯度下降
  • 38元/年搭个云服务器:我在阿里云云小站薅到的第一个羊毛(附完整教程)
  • 【第五十二周】结果分析
  • Electron 鸿蒙 PC 上做本地搜索,Fuse.js 比 SQLite 快 6 倍——但我愣是选了最慢的方案
  • Kimi LeetCode 3485. 删除元素后 K 个字符串的最长公共前缀 Java实现