import{_ as r,r as i,o as c,c as d,b as a,d as e,e as t,a as n}from"./app-mh6GuRj9.js";const h={},l=a("h1",{id:"介绍",tabindex:"-1"},[a("a",{class:"header-anchor",href:"#介绍","aria-hidden":"true"},"#"),e(" 介绍")],-1),s=a("blockquote",null,[a("p",null,[a("code",null,"KavaRef"),e(" 是一个使用 Kotlin 实现的现代化 Java 反射 API。")])],-1),_=a("h2",{id:"背景",tabindex:"-1"},[a("a",{class:"header-anchor",href:"#背景","aria-hidden":"true"},"#"),e(" 背景")],-1),f=a("p",null,"这是一个使用 Kotlin 实现的现代化 Java 反射 API,旨在提供更简洁、更易用的 API,同时保留 Java 反射的强大功能。",-1),u={href:"https://github.com/Lagrio",target:"_blank",rel:"noopener noreferrer"},p=a("strong",null,"K",-1),b=a("strong",null,"avaRef",-1),v={href:"https://github.com/HighCapable/YukiHookAPI",target:"_blank",rel:"noopener noreferrer"},k={href:"https://github.com/HighCapable/YukiReflection",target:"_blank",rel:"noopener noreferrer"},g=n('

如你所见,现在 KavaRef 是借助 YukiReflection 的设计思想完全重构的一套全新 API,它们没有从属关系,并将取代 YukiReflection 成为一个全新的反射解决方案。

如果你正在使用 YukiReflection 或与之相关的 YukiHookAPI 项目,你可以参考 这里 来迁移反射 API 的写法到 KavaRef

用途

KavaRef 采用 Kotlin lambda 语法与 Java Builder 风格构建。

',4),m={href:"https://pdai.tech/md/java/basic/java-basic-x-reflection.html",target:"_blank",rel:"noopener noreferrer"},K=n('

技能要求

你必须已熟练掌握 Java 原生的反射 API,了解 Java 的类加载机制、字节码结构以及它们在 Kotlin 中的用法 (如果你正在使用 Kotlin)。

语言要求

推荐使用 Kotlin,API 代码构成同样支持 Java,但是在纯 Java 项目中 KavaRef 有可能无法发挥其全部功能和语法糖优势。

文档全部的 Demo 示例代码都将首先使用 Kotlin 进行描述,如果你完全不会使用 Kotlin 那你将有可能无法更全面地体验和使用 KavaRef 的功能。

功能贡献

',6),I={href:"https://github.com/HighCapable/KavaRef/issues",target:"_blank",rel:"noopener noreferrer"};function R(x,P){const o=i("ExternalLinkIcon");return c(),d("div",null,[l,s,_,f,a("p",null,[e("项目图标由 "),a("a",u,[e("MaiTungTM"),t(o)]),e(" 设计,名称取自 "),p,e("otlinJ"),b,e("lection,意为使用 Kotlin 实现的 Java 反射。")]),a("p",null,[e("它最早诞生于 "),a("a",v,[e("YukiHookAPI"),t(o)]),e(",后期被解耦合为 "),a("a",k,[e("YukiReflection"),t(o)]),e(" 项目。")]),g,a("p",null,[e("它能取代 "),a("a",m,[e("Java 原生的反射 API"),t(o)]),e(",使用更加人性化的语言实现一套更加完善的反射方案。")]),K,a("p",null,[e("本项目的维护离不开各位开发者的支持和贡献,目前这个项目处于初期阶段,可能依然存在一些问题或者缺少你需要的功能, 如果可能,欢迎提交 PR 为此项目贡献你认为需要的功能或前往 "),a("a",I,[e("GitHub Issues"),t(o)]),e(" 向我们提出建议。")])])}const J=r(h,[["render",R],["__file","home.html.vue"]]);export{J as default};