首页 > 解决方案 > Head First Java-Page 192(混合消息)

问题描述

我正在尝试 Head First Java 的一个示例问题:

我正在尝试的问题

我在netbeans上输入了它。创建3个类作为classA,classB,classC和Main方法作为混合类。在课堂上我得到一个错误,有人能解释一下为什么会发生这种情况以及如何解决它吗?

        public class classA {
            int ivar =7;
            void m1(){
                System.out.println("A's m1, ");
            }

            void m2(){
                System.out.println("A's m2, "); }

            void m3(){
                System.out.println("A's m3, ");
            }
        }

    public class classB extends classA {
        void m1(){
            System.out.println("B's m1, ");
        }

    }

    public class classC extends classB {
        void m3(){
            System.out.println("C's m3, "+(ivar + 6));}

        }

public class Mixed2 {
    public static void main(String[] args) {
        a=new A(); 
//Error Cant find symbol,Symbol:Variable a     location:class mixed 2

       b=new B(); //Same error above and below
        c=new C();
        a2=new C();
    }

}

标签: java

解决方案


是的,您可以在一堂课中全部输入。请看一下下面的代码。由于您仍在学习它的最佳状态,因此请按原样输入,而无需尝试不同的方法,以后可以在掌握语言后完成。学习愉快!.

public class mixedsample {

    public static void main(String[] args) {
        A a=new A();
        B b=new B();
        C c=new C();
        A a2=new C();

      /*  b.m1();
          c.m2();
          a.m3();
      Answer=B's,m1 ,A's,m2 ,A's,m3*/

     /*  c.m1();
       c.m2();
       c.m3();
A's,m1 ,A's,m2 ,A's,m3 */

     /* a.m1();
     b.m2();
     c.m3();
A's,m1 ,A's,m2 ,A's,m3 */

   /*  a2.m1();
     a2.m2();
     a2.m3();

A's,m1A's,m2 ,A's,m3  */




    }
}

    class A{
        int ivar=7;
        void m1(){
            System.out.println("A's,m1 ");
        }

        void m2(){
            System.out.println("A's,m2 ");

        }

        void m3(){
            System.out.println("A's,m3 ");

        }
    }

    class B extends A {
    void m1(){
            System.out.println("B's,m1 ");

    }
    }
    class C extends B{
    void m1(){
            System.out.println("A's,m1 ");

}
    }

推荐阅读