栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

getDeclaredMethods()在Java 7和Java 8中的行为不同

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

getDeclaredMethods()在Java 7和Java 8中的行为不同

getDeclaredMethods()
此处的行为正确,因为它可以准确告诉您在类中找到的内容。如果输入
interface
使用Java
7目标的编译器(或更旧的编译器),您将看不到Java 7实现的输出有所不同
getDeclaredMethods()

这是 编译器 ,其行为不同。

interface
在Java 8中编译此类子程序时,将生成桥接方法,该方法将不会为Java 7目标生成,因为Java
7目标甚至不可能。

现在为接口生成桥接方法的原因是,通常您拥有比接口更多的实现类,因此在接口中使用

default
桥接方法可以避免将桥接方法添加到每个实现中。此外,如果只有一种
abstract
方法没有实现的桥接方法,它会使lambda类的生成更加容易。

interface
层次结构需要桥接方法但不提供时
default
,编译器必须使用
Lambdametafactory.altmetafactory
而不是
Lambdametafactory.metafactory
指定所需的每个桥接方法来生成代码。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/496400.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号