在Java中获取声明类
在Java中有类似的功能:
class A {}
class B {private A a;}
class C {private A a;}
我怎么知道哪个类声明了a
也就是说,我想要B级或C级
欢迎提出任何意见
问候
你可以在下面搜索框中键入要查询的问题!
在Java中有类似的功能:
class A {}
class B {private A a;}
class C {private A a;}
我怎么知道哪个类声明了a
也就是说,我想要B级或C级
欢迎提出任何意见
问候
# 1 楼答案
在java中,你不能这样做,除非你在类a中有一个对象的引用。。。绝对不是通过编程,也不是在运行时
但是,如果您只想找出引用类A的类,一个选项是将该类重命名为其他类并尝试编译
瞧,编译器会列出引用类A但无法解析为类型的所有类
另一种选择是使用Reflections to find out the Variables in a Class并比较变量的类型是否为A类
这是我写的一个示例程序
导入java。朗,反思一下。场
导入com。测验甲级
结果
# 2 楼答案
你必须做一些事情,比如:
一旦从
class B
或class C
创建了类“A”的对象,就将this
传递给构造函数。例如:A objectA = new A( this )
这很奇怪,如果不实例化对象,你就无法做到这一点
# 3 楼答案
据我所知,你需要在你的代码中找到A类(类型用法)的所有用法(如果我错了,请纠正我)
它取决于您的IDE和已安装的插件来进行代码检查,大多数IDE都提供这样的功能,例如在Eclipse中,您可以右键单击一个类并选择“References->;Project”
如果你的IDE没有这个功能,那么有很多java工具,看看:A tool like ReSharper, but for Java?
# 4 楼答案