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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 戴卫东 初级黑马   /  2014-4-16 10:09  /  937 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

interface Zhangsan {  
  void play();  
}   
  
interface Lisi{  
  void play();  
}   
  
interface Wangwu extends  Zhangwu, Lisi{  
  Man man= new Man("good!");  
}  
class Man implements Wangwu{  
  private String name;   
  
  public String getName() {  
    return name;  
  }   
  
  public Man(String name) {  
    this.name = name;         
  }   
  
  public void play() {  
    man = new Man("Football");  
    System.out.println(man.getName());  
  }  
}   
不知道哪里有错误啊,感觉哪里都没有错啊。能解释解释吗,谢谢了。

4 个回复

倒序浏览
1   Man man= new Man("good!");//这里完整应该写  public static final .....。(这里是解题的关键);
2   man = new Man("good!");    //这里有问题。  这里改变了man的reference(引用),而这里的man来自     Wangwu interface,Wangwu interface里的man是public static final的,被final的object是不能被改变reference的。因此编译器将在" man = new Man("Football");"这里显示有异常。

评分

参与人数 1技术分 +1 收起 理由
菜小徐 + 1

查看全部评分

回复 使用道具 举报 1 0
本帖最后由 坏米饭 于 2014-4-16 10:33 编辑


public static void main(String[] args) {


Man mainman = new Man("mainman");
mainman.play();
}
interface Zhangsan {  
  void play();  
}   

interface Lisi{  
  void play();  
}   

interface Wangwu extends  Zhangsan, Lisi{  //你敲成Zhangwu了。
  Man man= new Man("good!");  
}  
class Man implements Wangwu{  
  private String name;   

  public String getName() {  
    return name;  
  }   

  public Man(String name) {  
    this.name = name;         
  }   

  public void play() {  
   Man newman = new Man("Football");  //你没有在man前面写Man。如果你是想访问父类接口Wangwu的man,貌似不行。
   System.out.println(newman.getName());//结果是Football
   System.out.println(this.getName());//结果是mainman
   System.out.println(man.getName());//这样可以访问父类接口Wangwu的man,结果是good!
  }  
}   



评分

参与人数 1技术分 +1 收起 理由
枫儿 + 1 赞一个!

查看全部评分

回复 使用道具 举报
sheng6699 发表于 2014-4-16 10:16
1   Man man= new Man("good!");//这里完整应该写  public static final .....。(这里是解题的关键);
2  ...

原来是引用指向问题,顿悟了!!
回复 使用道具 举报
戴卫东 发表于 2014-4-16 10:29
原来是引用指向问题,顿悟了!!

呵呵。。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马