草庐IT

java - 从 Java 源代码中找出使用过的类和方法

对于Java源文件,我想了解一下:哪些类使用哪些其他类(完全限定名称)?哪些方法调用哪些其他方法(完全限定名称)?实现该目标的合理方法是什么?编辑:澄清一下:我想要一个源代码文件列表作为输入。输出应该是(如上所述)哪个类使用哪个其他类以及哪个方法调用哪个其他方法。我不想在运行时检查其他加载的类,例如在使用反射时。 最佳答案 您需要使用静态分析工具作为STAN独立模式:Thestandaloneapplicationistargetedtoarchitectsandprojectmanagerswhoaretypicallynotus

java - 在几个不相关的类中使用的 Java 中在哪里定义常量

在Java中在哪里定义常量的问题已在论坛中多次出现,但我仍在努力寻找一个我觉得合适的解决方案。为简单起见,假设我有两个类:WriteMyData和ReadMyData。没有一个是另一个的子类。这两个类共享两个对其操作至关重要的常量:StringDELIMITER和intLENGTH。将来我可能想更改这些常量的值,以便在适当的地方定义它们。共识似乎经常支持enum类型。然而,在我的例子中没有什么可以枚举,所以我最终在我的enum中只有一个项目,我称之为DEFAULT:publicenumDataSettings{DEFAULT(",",32);privatefinalStringdeli

java - 使用 OOPS 扩展已经编写的类

我正在尝试学习设计实践和OOP。我使用parking场问题作为示例开始。我有一个GeneralParkingLot接口(interface)和一个Vehicle接口(interface)。GeneralParkingLot只有一个函数returnParkingLotSize,Vehicle接口(interface)有多个Vehicle属性。我创建了一个DowntownParkingLot类,它扩展了GeneralParkingLot并具有其他属性,例如listOfCars、availableSlots等。和一个扩展Vehicle类的Car类。我有一个处理传入命令的HandlerClas

我如何在类typecript上的类中检查方法存在

在父类中,如何在继承类中检查或标记方法。例如,我的B类B类扩展了A类。classA{onSomethingHappend(){//howIcancheckthatmethodexist?this.dependedAction();}}classBextendsA{dependedAction(){console.log('dependedAction');}}constb=newB();b.onSomethingHappend();看答案您可以使其抽象:abstractclassA{onSomethingHappend(){this.dependedAction();}abstractdepe

Java 命名空间 - 两个在不同包中具有相同名称的类

我来自Objective-C,我们没有包和命名空间。Android有android.text.format.DateFormat,它有返回java.text.DateFormat实例的静态方法(特别是getLongDateFormat()和getMediumDateFormat())。这些方法是指“静态方法”还是“类方法”,或者两者可以互换?查看Androiddocumentation,我怎么知道android.text.format.DateFormat方法返回java.text.DateFormat实例而不是android.text.format.DateFormat实例(返回后者

java - 将同一个包中的类构建到单独的 jar 中

我有一个服务器应用程序和两个基于Swing的客户端应用程序。我们在eclipse中开发它们,每个都有一个单独的项目。许多类(class)是共享的。例如,my.server包中有一些类同时适用于服务器和客户端,而其他类仅适用于服务器。虽然我更喜欢将它们放在同一个包中,因为它们密切相关并且其中一些依赖于包的可见性,但我不想分发应用程序不需要的类,因为它不仅会增加文件大小,而且这将是一个安全风险。目前,每个服务器和客户端都有相同的jar,这是一团糟。理想情况下,我想根据依赖关系自动创建jar,如下所示。服务器:server.jar:仅供服务器使用的类server-client1-common

java - 如何获取类型为 T 的字段的类?

我为一些SpringMVCController编写JUnit测试。JUnit测试的初始化对于我所有的Controller测试都是通用的,因此我想创建一个抽象类来执行此初始化。因此,我创建了以下代码:@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations={"classpath*:spring/applicationContext-test.xml","classpath*:spring/spring-mvc-test.xml"})@TransactionalpublicabstractclassAbs

java - Java 内部类的类引用

有没有办法引用任何内部类?我想指定一个与内部类兼容的返回类型,例如Classsome_method();我了解此语法无效。有没有办法表达这个?我知道我不能使用像Class这样的东西因为内部类不会扩展外部类。 最佳答案 嗯,你可以引用具体的内部类,至少:Classsome_method()除此之外,返回任何内部类的对象会有什么好处?这相当于返回任何对象加上内部实例与外部实例具有特殊关系这一事实。但是,您可能无法直接使用该特殊关系。编辑:正如其他人已经指出的那样,InnerClass可能是由其他内部类扩展的父类(superclass)。

java - Java 中枚举和基于枚举的类实现之间的优缺点是什么?

我最近遇到了一个article讨论在C#中使用基于枚举的类实现,这令人印象深刻。第二个here在java。但是,我的同事建议我改用Enum。谁能指出使用它们中的每一个的优缺点以及何时使用它们? 最佳答案 你引用的Java文章是2001年的,当时Java没有枚举,作者描述的方法是当时程序员用来解决Java不足的方法。Java5在2004年引入了枚举,现在旧的模式已经过时了。所以你的同事是对的:你应该使用枚举。 关于java-Java中枚举和基于枚举的类实现之间的优缺点是什么?,我们在Sta

java - 我如何管理 WebSphere 中的类路径

我在Webspherev6.1中的Web模块类路径有问题。在我的WEB-INF/lib中,我有大量的jar文件,其中包括xercesImpl.jar和xmlparserv2.jar。我需要两个jar都在场,但它们似乎相互冲突。具体来说,每个jar包含一个META-INF/services目录,因此,当我们尝试通过JAXP获取DocumentBuilderFactory的实例时,我们获取的实例取决于这两个jar在类路径中出现的顺序。我总是想使用DocumentBuildFactory的xerces实例,所以我想将xercesImpl.jar推到类路径的前面。我试图通过在Manifest文