我有以下一个文件,其中包含两个类,A和B,它们扩展了A.但我对如何编译以及如何命名文件感到困惑。 我认为我应该将它命名为B.java,因为主函数运行B但它告诉我它无法找到主函数。
import static java.lang.System.out;
class A {
protected int x = 0xF0;
protected int z;
public A(){
z = fun(x);
out.printf ("%x ", z);
}
public int fun(int i) { return (i + 1); }
public static int staticFun (int i) { return (i + 3);}
}
class B extends A {
protected int y = 0x11;
public B() {
z = fun( z);
out.printf ("%x ",z);
}
public int fun(int i) { return (i + 2);}
public static int staticFun(int i) {return (i + 4);}
public static void main(String args[]){
int i = 0;
A a = new B();
out.print ( a.fun( i)+ " ");
out.println( a.staticFun(i));
B b = new B();
out.print ( b.fun (i) + " ");
out.println( b.staticFun(i));
}
}
答案 0 :(得分:1)
您需要至少创建一个类public
,并将文件命名为公共类。
假设您公开class A
,使用javac A.java
编译文件将创建两个类文件 - A.class
和B.class
。使用命令B.class
执行java B
将导致main
执行class B
方法。