如何在VSCode中运行指定Java代码?新手运行无输出求解决
无法运行的原因
你粘贴的代码缺少Java程序必需的main入口方法,所有可执行的业务逻辑必须放在main方法内才会被JVM识别运行,这是你运行后没有任何输出的核心原因。你的手动推演结果是正确的,代码执行后确实会输出Rectangle Box。
VSCode 运行步骤
- 先确认你的VSCode已经安装了Java扩展包(Extension Pack for Java),且本地配置好了JDK 8及以上版本的环境
- 新建一个名为
Test.java的文件,将整理后的完整可运行代码粘贴进去:
class Figure { void display() { System.out.print("Figure "); } } class Rectangle extends Figure { void display() { System.out.print("Rectangle "); } void display(String s){ System.out.print(s); } } class Box extends Figure { void display() { System.out.print("Box "); } void display(String s){ System.out.print(s); } } public class Test { public static void main(String[] args) { Figure f = new Figure(); Rectangle r = new Rectangle(); Box b = new Box(); f = r; ((Figure) f).display(); f = (Figure) b; f.display(); } }
- 打开
Test.java文件,点击编辑器右上角的三角形运行按钮,或者右键编辑区空白处选择「运行Java」,就能在下方终端面板看到输出结果。
补充说明
这里用到了Java的多态特性,父类引用指向子类对象时,调用重写方法会优先执行子类的实现,所以哪怕你将f强转为Figure类型,实际执行的还是Rectangle和Box子类的display()方法,最终输出和你推演的一致。
内容的提问来源于stack exchange,提问作者Levin Kent
相关产品推荐
相关产品推荐

