Java 方法引用笔记一、基础概念定义把已经存在的方法拿过来复用充当函数式接口中抽象方法的方法体简化Lambda表达式。核心符号::叫做方法引用符。使用四大前提条件必须存在函数式接口只有一个抽象方法被引用的方法已经定义好、真实存在被引用方法的形参列表、返回值类型和接口抽象方法保持一致被引用方法的功能符合当前业务需求作用Lambda如果只是单纯调用已有方法就可以简化写成方法引用。二、方法引用5种格式分类1. 引用静态方法✅格式类名::静态方法示例Integer::parseInt2. 引用成员方法对象调用✅格式对象::成员方法细分三种场景其他类对象对象名::方法名本类中this::方法名只能在成员方法内使用父类中super::方法名只能在成员方法内使用3. 使用类名引用成员方法特殊写法✅格式类名::成员方法示例String::substring⚠特殊规则函数式接口第一个参数会作为调用这个成员方法的对象。4. 引用构造方法✅格式类名::new示例Student::new用于快速创建对象匹配类的构造器。5. 引用数组构造方法✅格式数据类型[]::new示例int[]::new用来创建指定长度的数组。三、快速区分口诀静态方法 → 类名调用方法 →类名::静态方法已有对象实例调用普通方法 →对象::成员方法需要创建对象 →类名::new需要创建数组 →类型[]::new抽象方法第一个参数作为方法调用者 →类名::成员方法四、简单代码对比理解Lambda写法FunctionString,Integerfuns-Integer.parseInt(s);方法引用简化写法FunctionString,IntegerfunInteger::parseInt;五、易错点提醒方法引用不能传递参数只写方法名不要写括号❌错误Integer::parseInt()✅正确Integer::parseIntthis::和super::不能在静态方法中使用类名引用成员方法属于特殊语法和普通对象引用成员方法区分开考试高频考点。