[英]Java standard out produces no output
我有麻烦了 该代码不会引发任何编译时错误,但是不会显示System.out.println
。 它应该显示如何对所有四个侧面进行着色。 我在for循环中犯了错误还是结构错误?
参见下面的代码:
public interface Colorable {
// Abstract to be called later
public abstract String howToColor();
}
public class HowToColour {
/**
* @param args
* the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
}
}
public class TestColorable {
public static void main(String[] args) {
Object[] obj1 = {
new Square(),
new Rectangle(),
new Rhombus(),
new Parallelogram(),
new Trapezium()
};
for (int i = 0; i < obj1.length; i++) {
if (obj1[i] instanceof Colorable) {
System.out.println(((Colorable) obj1[i]).howToColor());
} else {
System.out.println("This shape is not to be colored");
}
}
}
}
class GeometricOgject {
}
// Initial Method to use the interface
class Square extends GeometricOgject implements Colorable {
@Override
public String howToColor() {
return "Square: Color all four sides";
}
}
// Method to use an interface in an abstract class
abstract class FourSides implements Colorable {
}
class Rectangle extends FourSides {
@Override
public String howToColor() {
return "Rectangle: color all four sides";
}
}
class Rhombus extends FourSides {
@Override
public String howToColor() {
return "Rhombus: color all four sides";
}
}
class Parallelogram extends FourSides {
@Override
public String howToColor() {
return "Parallelogram: color all for sides";
}
}
class Trapezium extends FourSides {
@Override
public String howToColor() {
return "Trapezium: color all four sides";
}
}
如果全部放在一个文件中,则可以看到与具有主要功能的两个类的声明存在潜在冲突。 巧合的是,您的主电源之一是空的,可能是正在执行的主电源。 如果这些文件位于不同的文件中,则您应该只能在命令行上执行此操作:
java TestColorable
我认为正在发生的事情等同于:
java HowToColour
在其OWN FILE中分别执行以下操作:
public class HowToColour
{
//implementation
}
public class TestColorable
{
//implementation
}
javac TestColorable.java
javac HowToColour.java
java TestColorable
**output will go here**
java HowToColour
**no output here**
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.