为何代码没错,却出不来结果,你可能...

简介: 为何代码没错,却出不来结果,你可能...

1、想看看我正确又简洁干净的代码:


74.png

75.png


  • 嗯,我也觉得没有毛病,但是一运行:

java.lang.NoSuchMethodException: com.shan.hello.Hello.()

at java.base/java.lang.Class.getConstructor0(Class.java:3517)

at java.base/java.lang.Class.getConstructor(Class.java:2238)

at com.shan.hello.HelloTest.testIoCMock(HelloTest.java:52)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at ……


76.gif



         不应该结果出不来呀,奔溃,想到可能是编译器自身有毛病,我重启了,发现还是没出结果;我又尝试了刷新,还是没出结果;我还试过关闭后再次打开项目,再次让人悲伤,只能拿出杀手锏---调试,也不行,直接报错,而且报错信息提示时构造器问题。。。


77.png


----找到啦---导包出错啦,代码没错,但是导包错啦


✿ 2、总结:为何代码没错,却出不来结果,你可能...

------少年呀,你忽视了包呀,导错包了呀少年


✿ 3、关于反射:

(1)获取构造器是要与访问权限无关,记得加关键词Declared

  • 获取所有构造器:
    □ getConstructors() 【所有,public修饰的】
    □ getDeclaredConstructors()【所有,和访问权限无关】
  • 获取指定的一个构造器:
    □ 公共无参构造器 getConstructor()
    □ 公共有参构造器 getConstructor(Class...parameterTypes) 参数parameterTypes表示构造器参数的Class类型
    □ 任何类型的有参构造器 get**Declared**Constructor(Class...parameterTypes) 【和访问权限无关

(2)对于私有的构造器,要反射获取对象,记得:

设置当前构造器为可以访问

Constructor对象.setAccessible(true)

目录
相关文章
|
7月前
|
人工智能 Java 关系型数据库
分享66个JavaGame源码总有一个是你想要的
分享66个JavaGame源码总有一个是你想要的
340 0
|
7月前
|
人工智能 小程序 算法
分享64个JavaGame源码总有一个是你想要的
分享64个JavaGame源码总有一个是你想要的
173 0
|
3月前
|
移动开发 JavaScript C#
总有一个是你想要的分享31个游戏源代码
该资源分享了31款游戏源代码,包括C#版植物大战僵尸、HTML5版五子棋等,均经过亲测可运行。下载链接中还包含13款游戏源码,适合游戏开发者和爱好者学习参考。作者辛苦整理,希望得到您的点赞与关注作为支持。
127 1
|
7月前
|
新零售 移动开发 JavaScript
分享74个Java源代码总有一个是你想要的
分享74个Java源代码总有一个是你想要的
74 0
|
7月前
|
移动开发 JavaScript C#
分享31个游戏源代码总有一个是你想要的
分享31个游戏源代码总有一个是你想要的
200 0
|
7月前
|
SQL C# 数据安全/隐私保护
|
程序员
有了这些不愁找不到对象,520表白代码
有了这些不愁找不到对象,520表白代码
87 0
|
开发者
试着做点儿有趣的事情
一个游戏怎样才算是做完了?这是个因人而异的问题。有些游戏还没有做出来就做完了,因为开发者不想再做了。有的游戏看上去做完了,但是后续还在不停的更新,那我们就说这个游戏其实还没有做完。至于如何算是做完了,我觉得这应该交由该游戏的制作者来决定。
93 0
|
存储 XML JSON
简简单单搞一个实用的Android端搜索框
效果很常见,就是平常需求中的效果,上面是搜索框,下面是最近和热门搜索列表,为了方便大家在实际需求中使用,配置了很多属性,也进行了上下控件的拆分,也就是上边搜索框和下面的搜索列表的拆分,可以按需进行使用。
213 0
|
数据库
我又写了一堆烂代码
“我又写了一堆烂代码!” 这句话我经常对自己说,目的是为了督促自己不断地思考所写的代码是否足够可靠。
67 0