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

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

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)

目录
相关文章
甚么!!你这麽传参是吧,好好
甚么!!你这麽传参是吧,好好
59 0
|
4月前
|
监控 安全 网络安全
别偷懒!这些事你必须知道!
在数字化时代,SSL证书作为保护网站数据传输安全的关键工具,其重要性不言而喻。然而,安装SSL证书并非一劳永逸,它需要定期续签以确保持续的安全保护。续签不仅能提升安全性、确保合规性,还能优化用户体验。通常续签过程包括检查有效期、选择CA、提交申请、安装新证书及验证安装等步骤。提前规划、备份旧证书和设置监控提醒是续签过程中需要注意的事项。
|
10月前
|
SQL C# 数据安全/隐私保护
C真的不难学,不信就看下我关于循环的理解
C真的不难学,不信就看下我关于循环的理解
|
程序员
有了这些不愁找不到对象,520表白代码
有了这些不愁找不到对象,520表白代码
138 0
|
数据库
我又写了一堆烂代码
“我又写了一堆烂代码!” 这句话我经常对自己说,目的是为了督促自己不断地思考所写的代码是否足够可靠。
79 0
|
前端开发 JavaScript 索引
2022年了!再来手撕一下前端瀑布流代码吧!
**前言: **知识是学不完的,可是我们为什么还是要不停的去学习呢。原因很简单,因为我们要产生更多的知识,让更多的人学不完!前端技术也是在不停的革新,我们要做那个让别人有学不完的知识的人
1076 0
2022年了!再来手撕一下前端瀑布流代码吧!
|
SQL 存储 监控
聊聊那些年遇到过的奇葩代码
无论是开发新需求还是维护旧平台,在工作的过程中我们都会接触到各种样式的代码,有时候会碰到一些优秀的代码心中不免肃然起敬,但是更多的时候我们会遇到很多奇葩代码,有的时候骂骂咧咧的吐槽一段奇葩代码后定睛一看作者,居然是几个月以前自己的写的,心中难免浮现曹操的那句名言:不可能,绝对不可能。
聊聊那些年遇到过的奇葩代码
|
移动开发 缓存 ARouter
没错,TheRouter 是我写的
大约在17年底到18年初的时候,我经常会讲一些当时做模块化开发的心得和踩坑历程
244 0