[英]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.