返回信息流public interface Valuable {
public double getMoney();
}
interface Protectable {
public void beProtected();
}
interface A extends Protectable {
void m();
}
abstract class Animal {
private String name;
abstract void enjoy();
}
class GoldenMonkey extends Animal implements Valuable, Protectable {
public double getMoney() {
return 10000;
}
public void beProtected() {
System.out.println("live in the room");
}
public void enjoy() {
}
public void test() {
Valuable v = new GoldenMonkey();
v.getMoney();
Protectable p = (Protectable)v;
}
}
class Hen implements A {
public void m() {}
public void beProtected() {}
}
代码入上面所示,没有实现main方法,在编译的时候报如下的错:
D:\javafiles>javac TestAccess.java
TestAccess.java:1: 类 Valuable 是公共的,应在名为 Valuable.java 的文件中声明
public interface Valuable {
^
将第一行interface前面的public去掉就可以编译通过了,请问下这是为什么?
这是一条镜像帖。来源:北邮人论坛 / java / #15507同步于 2010/8/18
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
问个java语法方面的问题
recruit
2010/8/18镜像同步2 回复
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
就是说public类的类名应当和文件名一致。
【 在 recruit (recruit) 的大作中提到: 】
: public interface Valuable {
: public double getMoney();
: }
: ...................