A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 梁秋瑜 中级黑马   /  2013-5-26 22:01  /  1382 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 梁秋瑜 于 2013-5-28 20:20 编辑

class InterfaceDemo4 {
public static void main(String[] args) {
  China c = new China();
  c.speak();
  c.copy();
  System.out.println(山寨.COLOR);
  System.out.println(China.COLOR);
  System.out.println(c.COLOR);
c.COLOR="blue";
}
interface 山寨 {
String COLOR = "red";
void copy();
}
class China implements 山寨{
void speak(){
  System.out.println("说中文");
}
public void copy(){
  System.out.println("一直在模仿从未被起诉");
}

}

评分

参与人数 1技术分 +1 收起 理由
殇_心。 + 1

查看全部评分

4 个回复

倒序浏览
因为接口里面的常量默认修饰符是public static final  所以当然不能被改了
回复 使用道具 举报
接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。

评分

参与人数 1技术分 +1 收起 理由
殇_心。 + 1

查看全部评分

回复 使用道具 举报
对于接口,特别要注意其成员常量和成员方法都是固定修饰符,
而且这固定修饰符一般都是省略不写出来的,有一定的迷惑性。
成员常量的固定修饰符是 public static final
成员方法               public abstract
题中的interface 山寨 中的(public static final)String COLOR = "red" 已经是全局常量了,所以不能做出任何的复写改动了

评分

参与人数 1技术分 +1 收起 理由
殇_心。 + 1

查看全部评分

回复 使用道具 举报
接口中的color默认呗final进行修改,所以不可以对他再进行重新赋值
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马