类XXX是公共的, 应在名为 XXX.java 的文件中声明
原码如下:
public class Bird {
//bird类的fly方法
public void fly () {
System.out.println("我在天空自由的飞翔!");
}
}
public class Ostrich extends Bird {
//重写Bird类的fly方法
public void fly () {
System.out.println("我不能飞,我只能奔跑");
}
public static void main (String [] agrs) {
//创建Ostrich对象
Ostrich os = new Ostrich();
//执行Ostrich对象的fly()方法
os.fly();
}
}
编译结果如下:
E:\develop\code>javac Ostrich.java
Ostrich.java:2: 错误: 类Bird是公共的, 应在名为 Bird.java 的文件中声明
public class Bird {
^
1 个错误
E:\develop\code>
问题所在:
一个文件中有多个类,只有与文件名一致的类名,才能声明为:public
内部类不能声明为:public
一个文件中只能有一个public类
改进方法:
- 把class类写在一个以它的class名字为文件名的文件里
public class Ostrich extends Bird {
//重写Bird类的fly方法
public void fly () {
System.out.println("我不能飞,我只能奔跑");
}
public static void main (String [] agrs) {
//创建Ostrich对象
Ostrich os = new Ostrich();
//执行Ostrich对象的fly()方法
os.fly();
}
class Bird {
//bird类的fly方法
public void fly () {
System.out.println("我在天空自由的飞翔!");
}
}
}
结果如下:
E:\develop\code>javac OStrich.java
E:\develop\code>java Ostrich
我不能飞,我只能奔跑
注:
也可以将两个class类保存在不同的文件夹