首页 > 编程知识 正文

java无法解析为变量,java反射原理

时间:2023-05-06 14:42:33 阅读:41036 作者:2736

我把三个班“打印设备、打印机、测试”写如下

首先是PrintDevice.java

公共@接口打印设备{

字符串默认打印(;

int defaultNumber (;

}

第二,Printer.java

@ print device (默认打印=' print ',默认编号=5) )。

公共类打印机{

公共打印机

//empty构造器

}

@ print device (默认打印=' print ',默认编号=5) )。

公共语音打印(int number ) {

system.out.println(number );

}

}

三. Test.java

import java.lang.reflect.*;

公共类测试{

publicstaticvoidmain (string [ ] args ) throws NoSuchMethodException,IllegalAccessException,InvocationTargetException{

打印机打印机=new打印机(;

打印设备anno=printer.getclass (.get annotation (print设备. class ) );

methodm=printer.getclass (.get method ) anno.defaultprint ),int.class );

m.invoke (打印机,anno.defaultNumber ) );

}

}

可以顺利编译,但尝试运行Test.java时,NullPointerExcetion如下所示: -

Test.main线程“main”Java.lang.nullpointerexception中的异常(Test.java:7 ) )。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。