java面向对象面试题(1)
2016-06-29 14:36
555 查看
1) | 当试图编译并运行下面程序时会出现什么结果()(单选) class A{ public int getNumber(int a){ return a+1; } } class B extends A{ public int getNumber(int a, char c){ return a+2; } public static void main(String[] args){ B b=new B(); System.out.println(b.getNumber(0)); } } | |
| a) | 编译错误 |
| b) | 运行错误 |
| c) | 1 |
| d) | 2 |
答案为 C 继承的关系,引用父亲的方法。
2) | 当编译并运行下面程序时会出现什么结果( )(单选) | |
| | public class MyAr{ public static void main(String argv[]){ int[] i = new int[5]; System.out.println(i[5]); } } |
| a) | 编译错误 |
| b) | 运行错误 |
| c) | 输出0 |
| d) | 输出“null” |
答案 B 因为声明了一个长度为5的数组,下表是从0~4;
3) | final、finally、finalize三个关键字的区别是()(多选) | |
| a) | final是修饰符(关键字)可以修饰类、方法、变量 |
| b) | finally在异常处理的时候使用,提供finally块来执行任何清除操作 |
| c) | finalize是方法名,在垃圾收入集器将对象从内存中清除出去之前做必要的清理工作 |
| d) | finally和finalize一样都是用异常处理的方法 |
4) | 当编译并运行下面程序时会发生什么结果()(单选) | |
| | public class Bground extends Thread{ public static void main(String argv[]){ Bground b = new Bground(); b.run(); } public void start(){ for (int i = 0; i <10; i++){ System.out.println("Value of i = " + i); } } } |
| | |
| a) | 编译错误,指明run方法没有定义 |
| b) | 运行错误,指明run方法没有定义 |
| c) | 编译通过并输出0到9 |
| d) | 编译通过但无输出 |
答案 D 编译通过但是无输出,没有调start();
5) | 在Java中,如果父类中的某些方法不包含任何逻辑,并且需要由子类重写,应该使用()关键字来声明父类的这些方法。(单选) | |
| | |
| a) | Final |
| b) | Static |
| c) | Abstract |
| d) | Void |
6) | 当编译并运行下面程序时会发生什么结果:(单选) | |
| | public class Hope{ public static void main(String argv[]){ Hope h = new Hope(); } protected Hope(){ for(int i =0; i <10; i ++){ System.out.println(i); } } } |
| a) | 编译错误,构造方法不能被声明为protected |
| b) | 运行错误,构造方法不能被声明为protected |
| c) | 编译并运行输出0到10 |
| d) | 编译并运行输出0到9 |
7) | 下列说法正确的是?()(多选) | |
| | |
| a) | 数组有length()方法 |
| b) | String有length()方法 |
| c) | 数组有length属性 |
| d) | String有length属性 |
答案 bc 此题最考察基础,记住就好。
8) | 当编译并运行下面程序时会发生什么结果?( )(单选) | |
| | public class Test{ public static void stringReplace(String text){ text=text+”c”; } public static void bufferReplace(StringBuffer text){ text=text.append("c"); } public static void main(String args[]){ String textString=new String("java"); StringBuffer textBuffer=new StringBuffer("java"); stringReplace(textString); bufferReplace(textBuffer); System.out.println(textString+textBuffer); } } |
| a) | 编译并运行输出javac javac |
| b) | 编译并运行输出java java |
| c) | 编译并运行输出java javac |
| d) | 编译并运行输出 javac java |
答案 C String类是不可改变的,字符串通过append()方法添加
9) | 以下哪些表达式返回为真()(多选) | |
| | String a=”My field1”; String b=”My field1”; String c=new String(”My field1”); String d=new String(”My field1”); |
| a) | a ==b |
| b) | a==c |
| c) | c==d |
| d) | a.equals(b) |
| e) | a.equals(c) |
| f) | c.equals(d) |
答案:adef
10) | 当编译和运行下面程序时,哪项描述可以最准确的表达发生了什么事情( )(单选) | |
| | public class MyAr{ public static void main(String argv[]) { MyAr m = new MyAr(); m.amethod(); } public void amethod(){ int i; System.out.println(i); } } |
| a) | 编译并输出0 |
| b) | 编译错误 |
| c) | 编译并输出null |
| d) | 运行错误 |
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树