我目前正在学习一门Java课程,其中一个作业要求我在一个.class文件中使用(导入)一个类。我目前使用的是Visual Studio代码,似乎找不到将类导入Java代码的方法。我们没有得到.java代码。据我所知,Visual Studio代码不支持使用.class文件。
x8diyxa71#
据我所知,intellij idea可以反编译.class文件,这取决于反编译插件的构建,而vscode marketplace中名为“Java反编译器”的扩展工作起来有点复杂。也许你可以尝试一下,使用“Java反编译器”扩展或看看intellij idea。
ovfsdjhp2#
最简单的方法是将这两个类放在同一个目录中,如本例所示。
public class A { public int fun() { return 0; } }
要在同一目录中使用类B中的类A,只需在B中声明类型A
class B { public static void main(String[] args) { A a = new A(); int i = a.fun(); System.out.println(i); } }
这将打印0。这样做是因为两个类都在同一个目录中,并且类A被声明为public。在同一个目录中,没有包声明,意味着两个类都在默认包中,这是最简单的情况。
0
s3fp2yjn3#
您可以使用扩展名https://marketplace.visualstudio.com/items?itemName=dgileadi.java-decompiler。ext可以帮助您查看.class文件的原始源代码。另一方面,你所说的是自动导入功能,这是由vscode现在支持。
3条答案
按热度按时间x8diyxa71#
据我所知,intellij idea可以反编译.class文件,这取决于反编译插件的构建,而vscode marketplace中名为“Java反编译器”的扩展工作起来有点复杂。也许你可以尝试一下,使用“Java反编译器”扩展或看看intellij idea。
ovfsdjhp2#
最简单的方法是将这两个类放在同一个目录中,如本例所示。
要在同一目录中使用类B中的类A,只需在B中声明类型A
这将打印
0
。这样做是因为两个类都在同一个目录中,并且类A被声明为public。
在同一个目录中,没有包声明,意味着两个类都在默认包中,这是最简单的情况。
s3fp2yjn3#
您可以使用扩展名https://marketplace.visualstudio.com/items?itemName=dgileadi.java-decompiler。ext可以帮助您查看.class文件的原始源代码。
另一方面,你所说的是自动导入功能,这是由vscode现在支持。