interfaceA{int x = 0;}class B{int x =1;}class C extends B implements A {public void px(){
 
System.out.println(x);}public static void main(String[] args) {  new C.px();
} 请问这段代码有错吗? 错在什么地方? 如何改正

解决方案 »

  1.   

    interfaceA{int x = 0;}
    接口中只能定义final类型变量class C extends B implements A
    B,A中变量冲突,这样编译器应该会报错
      

  2.   

    new C.px(); -------->new C().px();
      

  3.   

    还有System.out.println(x);
    中调用的x不明确,如果你调用A接口中的x应该是这样的A.x。其他没问题的
      

  4.   

    interfaceA{ } 关键字 interface 和接口 A名分开.....
      

  5.   

    接口中定义的int x = 0;
    不管你使用不适用final都默认你的变量时final型的
    所以与继承的int x = 0;冲突,应该编译就报错啦!
      

  6.   

    接口中只能定义final类型变量(不对)
    接口可以定义任何变量,但必须赋初值
      

  7.   

    阿弥陀佛
    lz看来还不是怎么会用接口和类
    或者说
    对java还没有个全面和初步的认识吧