下面的Java 程序编译运行结果是( )。 (选择一项)

来源:百度知道 编辑:UC知道 时间:2024/06/05 13:03:25
下面的Java 程序编译运行结果是( )。 (选择一项)
interface A{
Int x = 0;
}
class B{
Int x =1;
}
class C extends B implements A{
public viod pX(){
system.out.println(super.x);
}
public static viod main(String[] args){
new C().pX();
}
}
a) 产生运行期错误
b) 产生编译期错误
c) 程序运行,输出结果为1
d) 程序运行,输出结果为0

答案是c。
我才测试过!
接口中可以定义变量,但是,不管你是否明确写出,系统都会隐含设定为public static final。也就说,不能继承的静态变量。
那么,这个静态变量什么作用呢?主要是用来描述接口本身的。
在题目中,super指的是父类,无论如何都不会找到接口的,所以,结果为1.
PS:你程序中错误太多!
所有的viod改成void,所有的Int改成int,system改成System才能通过。所以,如果严格来讲,B也正确,因为你确实无法通过编译。

答案是B。
因为接口不能定义变量。

汗!是Java 1.5的新特性吗?自动加上public static final ?这个功能变态的强悍阿,SUN被MS搞得也很变态了,原来的Simplest is The Best都忘记了。看来要学习一下Java 1.6野马了。。。