一个bug,高手帮忙解决。谢谢!
源程序如下:
/*
*子类的构造方法总是先调用超类的构造方法来初始化子类中的超类成员,
*接着调用各成员对象的构造方法,,调用顺序按照它们在类中申明的顺序,
*最后执行子类的构造方法体中的内容
*/
class Meal
{
Meal()
{
System.out.println("Meal constructor");
}
}
class Lunch extends Meal
{
Lunch()
{
System.out.println("Lunch constructor");
}
}
class PortableLunch extends Lunch
{
PortableLunch()
{
System.out.println("PortableLunch constructor");
}
}
class Bread
{
Bread()
{
System.out.println("Bread constructor");
}
}
class Cheese
{
Cheese()
{
System.out.println("Cheese constructor");
}
}
class Lettuce
{
Lettuce()
{
System.out.println("Lettuce constructor");
}
}
public class Sandwish extends PortableLunch
{
public Sandwish() {
System.out.println("Sandwish constructor");
}
private Bread bread = new Bread();
private Cheese cheesee = new Cheese();
private Lettuce lettuce = new Lettuce();
public static void main(String args[])
{
new Sandwish();
}
}
我将源程序拷贝进eclipse后,保存后,在 public class Sandwish extends PortableLunch (程序中红色部分)这句出现问题,出错提示为:The public type Sandwish must be defined in its own file。这是怎么回事?程序错在哪里?