黑马程序员技术交流社区
标题:
测试题
[打印本页]
作者:
进击的大鹏
时间:
2014-9-13 21:32
标题:
测试题
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() {
//x = 20;
ball = new Ball("Football");
System.out.println(ball.getName());
}
}
这段代码错哪里了,面试题
作者:
逍遥呆
时间:
2014-9-13 23:52
本帖最后由 逍遥呆 于 2014-9-13 23:56 编辑
接口中应该不能创建子类对象吧。而且接口中的成员都有固定修饰符。这个Rollable接口里面的 Ball ball = new Ball("PingPang");不应该在这里。
作者:
苏乞儿
时间:
2014-9-14 00:28
在interface Rollable中定义了Ball ball是一个public static final类型的成员变量。final修饰了的引用型变量Ball,但是在下边的class Ball中又对引用ball重新建立了对象,并初始化,这是不对的,final修饰后他就不能再建立对象了。单例设计模式中的饿汉式就是用的这种思想。。。表述不清,楼主参考一下啊。。。主要是接口中的变量都是public static final修饰的。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2