class A{
A(){System.out.print("A()\t");}
         void f(){System.out.print("A.f()\t");}
}
class B extends A{
void f(){System.out.print("B.f()\t");}
void g(){System.out.println("B.g()");}
public static void main(String[] args){
A a1=new A();
A a2=new B();
a1.f();
a2.f();
//a2.g();
}
}
这是我们课本上讲多态时的一个例子,但是我运行不了。抛出没有主函数的异常。 求解。。

解决方案 »

  1.   

    java B
    不是 java A
      

  2.   


    class A {
    A() {
    System.out.print("A()\t");
    }
    void f() {
    System.out.print("A.f()\t");
    }
    }
    class B extends A {
    void f() {
    System.out.print("B.f()\t");
    }
    void g() {
    System.out.println("B.g()");
    }}class Test {
    public static void main(String[] args) {
    A a1 = new A();
    A a2 = new B();
    a1.f();
    a2.f();
    // a2.g();
    }
    }
      

  3.   

    弱弱的问下,怎么可以回复代码,以你这样的形式。就是JAVA CODE 然后下面是代码。
      

  4.   

    code=Java]egsdfgafsf
    sfsfs
    dgdg;
    dfbdv;
    eteg;
    [/code]
      

  5.   


    sfgsf;
    sdgdf;
    fhfghf;
    hchf;
      

  6.   

    class A
    {
    A()
    {
    System.out.print("A()\t");
    } void f()
    {
    System.out.print("A.f()\t");
    }
    }public class B extends A//此处应该声明为public的,在一个.java文件中能执行的主函数必须放到public类中
    {
    void f()
    {
    System.out.print("B.f()\t");
    } void g()
    {
    System.out.println("B.g()");
    } public static void main(String[] args)
    {
    A a1 = new A();
    A a2 = new B();
    a1.f();
    a2.f();
    // a2.g();
    }
    }
    楼主以后贴代码的时候 记得使用格式
      

  7.   

    文件名应该是B.java,然后才能javac编译过,java才能运行。因为main函数在Class B中