黑马程序员技术交流社区
标题: 如果类a继承类b,实现接口c,而类b和接口c中定义了同名变... [打印本页]
作者: .Mч┞尛__洋 时间: 2014-7-14 08:02
标题: 如果类a继承类b,实现接口c,而类b和接口c中定义了同名变...
interface A
{
int x = 0;
}
class B
{
int x =1;
}
class C extends B implements A
{
public void pX()
{
System.out.println(x);
}
public static void main(String[] args) {
new C().pX();
}
}
请写出你的想法,如果你认为对或者错,那么请看下面的代码是对错呢?
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());
}
}
作者: fantacyleo 时间: 2014-7-14 10:37
两个都编译报错。第一个,x有冲突,编译器不知道x到底指接口A的x还是类B的x。第二个,Ball没有定义ball变量,所以只能是从接口继承而来的,而接口中的变量是final的,只能赋值一次
作者: 为爱编程 时间: 2014-7-14 11:00
你这问题问的有科学依据吗?或者说你知道答案不
作者: .Mч┞尛__洋 时间: 2014-7-14 19:41
这是昨天面试我的题目 ...
作者: 为爱编程 时间: 2014-7-14 21:22
知道答案不
作者: idency 时间: 2014-7-15 11:00
编译不通过,x指定不明确
作者: 双皮奶 时间: 2014-7-15 11:10
路过留名
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |