日期:2014-05-20  浏览次数:20628 次

为什么出现这样的错误提示?
package Test;

public class Base{
private String showMe(){
return "Base";
}
public void print(){
System.out.println(showMe());
}
}

public class Sub extends Base{
public String showMe(){
return"Sub";
}
public static void main(String args[]){
Sub sub=new Sub();
sub.print();
}
}


在"public class Sub extends Base" 中 Sub这个地方出现:this public type Sub must be defined in its own file ? 我已经把它列为继承关系了, 为什么说还需要定义的? 如果我在本包下再定义一个Sub类, 同样还是这样的提示。询问各位为什么这样,以及如何解决这个问题?

------解决方案--------------------
一个java源文件里只能有一个public修饰的类,并且类名和文件名相同,楼主你把那个Sub前面的public去掉试试?前提是你的文件名为Base.java。
------解决方案--------------------
文件名为:Sub.java
文件内容为:
Java code

package Test;
class Base{
private String showMe(){
return "Base";
}
public void print(){
System.out.println(showMe());
}
}

public class Sub extends Base{
public String showMe(){
return"Sub";
}
public static void main(String args[]){
Sub sub=new Sub();
sub.print();
}
}