黑马程序员技术交流社区

标题: 请各位帮我看看写的代码哪错了 [打印本页]

作者: τ、高童鞋ゝ    时间: 2012-4-20 13:07
标题: 请各位帮我看看写的代码哪错了
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());    }
        }
"interface Rollable extends Playable, Bounceable"没有问题啊,interface可以继承多个interfaces,问题是出在哪?各位大侠帮忙看看
作者: 蒋亮    时间: 2012-4-20 13:22
Ball ball = new Ball("PingPang");这是在接口中定义的变量,接口中的变量,默认是public static final类型的,所以引用对象不能修改,而你在Ball类中重新赋值ball = new Ball("Football"); 所以会报错。
作者: 黑马老兵    时间: 2012-4-20 13:46
代码好乱啊,怎么也没有main?不知道你的是想实现什么功能的 。
作者: 韩新凯    时间: 2012-4-20 13:56
这段代码中public void play()
        {        
                ball = new Ball("Football");        System.out.println(ball.getName());    ball用写成Ball ball = new Ball("Football");
        }

直接给你修改好的代码吧,我自己写了一个Test类:
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 ball = new Ball("Football");
                System.out.println(ball.getName());
        }
}
public class Test{
        public static void main(String[] args) {
                Ball ball =new Ball("lisi");
                ball.play();
        }
}




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