1、写出程序运行结果
interface A{}
class B implements A{
public String func(){
return "func";
}
}
public class Test{
public static void main(String[] args){
A a = new B();
a.func();
System.out.println(a.func());
}
}
解:程序编译错误。A a = new B(); 编译看左边,运行看右边,父接口中没有func()方法,所以直接编译失败。
编译结果:
Test.java:11: 错误: 找不到符号
a.func();
^
符号: 方法 func()
位置: 类型为A的变量 a
Test.java:12: 错误: 找不到符号
System.out.println(a.func());
^
符号: 方法 func()
位置: 类型为A的变量 a
2 个错误
2、写出程序运行结果
class Fu{
boolean show(char a){
System.out.println(a);
return true;
}
}
public class Test extends Fu{
public static void main(String[] args){
int i = 0;
Fu f = new Test();
Test d = new Test();
for(f.show('A');f.show('B')&&(i<2);f.show('C')){
i++;
d.show('D');
}
}
boolean show(char a){
System.out.println(a);
return false;
}
}
解:涉及多态与覆盖
编译结果:
A
B
3、写出程序运行结果
interface A{}
class B implements A{
public String method(){
return "yes";
}
}
public class Test{
static A get(){
return new B();
}
public static void main(String[] args){
A a = get();
System.out.prinntln(a.method());
}
}
解:A a = get(); 相当于A a = new B(); 而A中没有method方法;编译失败,同第一问。
编译结果:Test.java:15: 错误: 找不到符号
System.out.println(a.method());
^
符号: 方法 method()
位置: 类型为A的变量 a
1 个错误
4、写出程序运行结果
class Super{
int i = 0;
public Super(String a){
System.out.println("A");
i = 1;
}
public Supe