日期:2014-05-20  浏览次数:20652 次

请教一小问题
Java code


     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        
        Useusb us=new Useusb();  //new 一个中间类
        phone ph=new phone();    // new 一个实例
        us.Useusb(ph);          //将实例作为参数传入,执行这个接口
        camera ca=new camera();
        us.Useusb(ca);
        System.out.println(Usb.a);
        Usb.a=20;
        System.out.println(Usb.a);
     
    }
}

//接口
interface Usb
{
   public void start();
   public void stop();    
   public int a=10;
}



Usb.a=20; 为什么会出错,怎么改变接口 Usb 中 a 的值。




------解决方案--------------------
完全不理解你要做什么,接口里面的参数必须是静态常量 也就是static final 如果你在接口中定义了int a=10那么这个a的值就永远无法改变

既然你想改变a值,那么就不应该在接口里面声明,还有你代码不符合基本java命名规范
------解决方案--------------------
= =。。接口中的成员变量都是final类型。。不能被改变
------解决方案--------------------
探讨
= =。。接口中的成员变量都是final类型。。不能被改变