黑马程序员技术交流社区
标题:
请各位帮我看看写的代码哪错了
[打印本页]
作者:
τ、高童鞋ゝ
时间:
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