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

本文主要解析了关于Java的一些面试难题,包括程序编译错误、多态与覆盖、构造函数的使用、接口与匿名子类、this关键字和final关键字的理解、异常处理、类的继承与覆写等核心概念。通过这些题目,帮助读者深入理解Java语法和编程原理。
最低0.47元/天 解锁文章
1560

被折叠的 条评论
为什么被折叠?



