首页 > 解决方案 > 调用方法。我没有得到预期的输出

问题描述

当我打电话 myDrawMethod(shapetriangle)时,我预计会在控制台中看到字符串三角形,因为它应该调用drawClass 中的方法Triangle。不幸的是,我没有在控制台中看到任何打印的内容。该代码正在运行,没有错误,但控制台中也没有打印任何内容。

我能得到一个答案,为什么......当调用myDrawMethod和传递对象时shapetrinagle,我没有triangle在控制台中打印出来?

下面是我的代码:

public class Shape {
  public void draw()
  { }
}

public class Triangle extends Shape {
  public void draw(){
      System.out.println("triangle");
  }
}

public class Application {

  public static void main(String[] args) {}

  public void myDrawMethod(Shape shape) {
      shape.draw();
  }

  public void checkMethod(){
      Shape shapetriangle= new Triangle();
      myDrawMethod(shapetriangle);
  }

}

标签: java

解决方案


那是因为你的main()方法是空的。程序从public static void main(String arg[])And 开始执行,因为你的 main 方法是完全空的,它实际上什么都不做。

把这个放在main里面。

public static void main(String[] args) {
    Application application = new Application();
    application.checkMethod();
}

推荐阅读