黑马程序员技术交流社区

标题: 继承、接口的疑问 [打印本页]

作者: 张文强    时间: 2012-5-31 10:27
标题: 继承、接口的疑问
interface  A{
   int x = 0;
}
class B{
   int x =1;
}
class C extends B implements A {
   public void pX(){
      System.out.println(super.x);//对于父类的变量,可以用super.x来明确. 我想要得到接口中i的值该咋办
   }
   public static void main(String[] args) {
      new C().pX();
   }
}
作者: 刘伯阳    时间: 2012-5-31 10:34
本帖最后由 刘伯阳 于 2012-5-31 10:35 编辑

接口中的成员变量必须是static funal 的~   所以 你接口中定义的应该是
interface  A{
   static final int x = 0;
}
  
然后静态的怎么用  你懂了吧 ...
作者: 王章亚    时间: 2012-5-31 10:47
interface  A{
   int x = 0;
}
class B{
   int x =1;
}
class C extends B implements A {
   public void pX(){
      System.out.println(super.x);
      System.out.println(A.x);//这样就可以啦!
   }
   public static void main(String[] args) {
      new C().pX();
   }
}
接口里面定义的都是成员变量都是静态的,直接类名调用就行啦

接口里面的常量
public static final  int x=0;
接口里面的方法都是
public adstract  方法名;
作者: 黑马11期李项京    时间: 2012-5-31 10:48
直接把这条语句System.out.println(super.x);改成System.out.println(A.x);就OK啦
作者: 黄克帅    时间: 2012-5-31 13:42
接口中的属性 都是public  static final的 ,你要访问直接用 接口名.属性名
作者: whocases    时间: 2012-5-31 20:58
接口中定义成员变量都是静态的,final的,直接类名调用不就哦了吗
作者: 张洁    时间: 2012-6-1 14:40
接口中的成员都有固定修饰符。
常量:public static final
方法:public abstract
所以应该是:
interface  A
{
   static final int x = 0;
}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2