我目前正在开发一个应用程序,我希望有可以用作回调的带注释的函数。
历史 当我以前进行Swift开发时,我记得使用某些函数作为参数,您需要运行@objc。 我想做类似的事情并使用@Function。
当前代码
函数.java
package com.iprogrammer.annotations;
import java.lang.annotation.ElementType;
import java.lang.annotation.Target;
@Target(value={ElementType.METHOD})
public @interface Function{
}
App.java
package dev.davidkeen.annotations;
import java.lang.annotation.Annotation;
public final class App {
private App() {
}
public static void main(String[] args) {
Main main = new Main();
main.run();
}
}
class Main{
public Main(){}
public void run(){
someFunc(someFunc2);
}
void someFunc(Function function){
function();
}
@Function void someFuncTwo(){
System.out.println("Hello");
}
}
可以解析someFuncTwo为a的参数someFunc吗?
编辑
我要使用注释的原因是以下用法
class AdminController{
private AdminModdle _moddle;
private JFrame _view;
public AdminController{
_view.buttonOne.setAction(actionOne);
_view.buttonTwo.setAction(actionTwo);
}
@Function void actionOne(){
//Do stuff
}
@Function void actionTwo(){
//Do Stuff
}
public JFrame getView(){
return _view;
}
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。