黑马程序员技术交流社区

标题: 小代码报错 麻烦过来看看是什么原因 [打印本页]

作者: 尤圣回    时间: 2012-9-24 14:33
标题: 小代码报错 麻烦过来看看是什么原因
interface Playable
  { void play();}
  interface Bounceable
  { void play();}
  interface Rollable extends Playable, Bounceable
  {  Ball ball = new Ball("PingPang");}
  
  class Ball implements Rollable
  { private String name;
   public String getName()
   { return name;}
   public Ball(String name)
   { this.name = name; }
   Public void play()
   { ball = new Ball("Football"); //这里报错
System.out.println(ball.getName()); }
作者: 李建强    时间: 2012-9-24 14:48
本帖最后由 李建强 于 2012-9-24 15:19 编辑
  1. Rollable接口中
  2. Ball ball = new Ball("PingPang");可以看成:
  3. public static final Ball ball = new Ball("PingPang");。
  4. ball类的方法play,试图改变改变ball的引用。
  5. final是不能被改变的,SO~~
复制代码

作者: 杜正华    时间: 2012-9-24 15:05
应该是 Ball ball = new Ball("Football");  少写一个Ball
作者: 冯伟    时间: 2012-9-24 15:22
不能在接口中实例化类,接口中只有全局常量和抽象方法,由类来实现接口中的方法,你把接口改正后再把 ball = new Ball("Football"); 前加Ball就没问题了
作者: 刘进朝    时间: 2012-9-25 16:20
{  Ball ball = new Ball("PingPang"); 和 { ball = new Ball("Football"); 比较一下就明白为什么报错了.




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