class A{int num=10;} //定义父类
interface B {int num=1;} //定义接口
public class C extends A implements B{
  public static void main(String[] args){
   C c=new C();
   System.out.println("num is "+B.num);
   System.out.println("num is "+num);//如何把从类A继承来的的num变量打印出来。

解决方案 »

  1.   

    给每个变量添加一个get方法即可,方法名不同
      

  2.   

    class A{int num=10;} //定义父类
    interface B {int num=1;} //定义接口
    public class C extends A implements B{
    int num;
    public  C(){
     num=super.num;
    }
      public static void main(String[] args){
       C c=new C();
       System.out.println("Bnum is "+B.num);
       System.out.println("Anum is "+c.num);  }
      }
    你看看是不是你所需要的。
      

  3.   

    super肯定对,在最后一句直接用super.num就ok~
      

  4.   

    super不对的,应为不是静态的方法。class A{int num=10;} //定义父类interface B {int num=1;} //定义接口public class C extends A {//implements B{
      public static void main(String[] args){
       C c=new C();
       System.out.println("num is "+B.num);
       System.out.println("num is "+c.num);//如何把从类A继承来的的num变量打印出来。
     }
    }这样就可以了。
      

  5.   

    接口中的常量可以用接口名直接调用,super调用父类隐藏成员变量
      

  6.   

    为什么要在C里面要重新定义一个num呢?直接System.out.println("num is "+super.num);
    或者System.out.println("num is "+this.num);怎么是错误的呢?