当前位置:文档之家› android java笔试题(带大部分答案)

android java笔试题(带大部分答案)

请将试题答在答题卡上,不要在试卷中做任何标记一、基础题:1.请写出输出结果public class Test1 {public static void changeStr(String str){str="welcome";}public static void main(String[] args) {String str="1234";changeStr(str);System.out.println(str);}}___"1234"____________________________________________________2.请写出输出结果public class Test2 {static boolean foo(char c) {System.out.print(c);return true;}public static void main(String[] argv) {int i = 0;for (foo('A'); foo('B') && (i < 2); foo('C')) {i++;foo('D');}}}_____ABDCBDCB___________________________________________________3.class A {protected int method1(int a, int b) { return 0; }}以下A扩展类中的方法哪两个是正确的:(选择两个)A.public int method1(int a, int b) { return 0;}B.private int method1(int a, int b) { return 0;}C.private int method1(int a, long b) { return 0;}D.public short method1(int a, int b) { return 0;}E.static protected int method1(int a, int b) { return 0;}____AD___________________________________________________4.public class Outer{public void someOuterMethod() {// Line 3}public class Inner{}public static void main(String[] args) {Outer o = new Outer();// Line 8}}下列哪一个对Inner类实例化的描述是正确的?DA.new Inner(); // At line 3B.new Inner(); // At line 8C.new o.Inner(); // At line 8D.new Outer.Inner(); // At line 8//new Outer().new Inner()5.下面这个程序正确吗? 如果不正确请说出哪里错误。

public class Something {public static void main(String[] args) {Other o = new Other();new Something().addOne(o);}public void addOne(final Other o) {o.i++;}}class Other {public int i;}6.下面这个程序正确吗?如果不正确请说出哪里错误。

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) { = name;}public void play() {ball = new Ball("Football");System.out.println(ball.getName());} }接口里是常量是 final的不能改变二、名词解释&判断题1.GC是什么? 为什么要有GC?Gc是垃圾收集 gabage collection的意思内存处理是编程人员最容易出现问题的地方,gc可以达到自动处理内存回收垃圾的作用使java程序员不用担心内存管理问题system.gc2.XML包括哪些解释技术,区别是什么?Sax dom3.sleep()和wait()有什么区别?Sleep() 是线程类的方法 wait()是object类的方法Sleep()不会释放对象锁到时自动恢复 wait()会释放对象锁进入等待此对象的等待锁定池发出notify()方法后才进入等待锁定池准备对象锁的获取进入运行状态4.error和exception有什么区别?error表示恢复不是不可能但是及其困难的一种严重问题不可能指望程序处理这样的问题Exception是一种设计或实现的问题表示只要程序运行正常就不会出现的问题5.谈谈final,finally,finalize的区别?Final是修饰符表示类不能被继承方法不能被重载,重写变量不能被修改等Finally是异常处理时的一个无论如何都会被执行的程序块Finaliz方法是垃圾收集器删除对象之前对这个对象调用的进行清理工作的方法6.当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?可以7.当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?值传递8.作用域public,private,protected,以及不写时的区别9.用最有效率的方法算出2乘以8等於几2《310.运行时异常与一般异常有何异编译器要求声明并抛出一般异常但不必声明抛出运行时异常由系统处理11.垃圾回收的优点和原理。

并考虑2种回收机制回收机制有分代复制垃圾回收标记垃圾回收和增量垃圾回收12.描述一下JVM加载class文件的原理机制?是由classloader和他的子类来实现的他在运行时查找和装入类文件的类13.是否可以从一个static方法内部发出对非static方法的调用?不能14.什么是java序列化,如何实现java序列化?序列化是一种处理对象流的机制是为了解决在对对象流进行读写操作时所引发的问题使用serializeae关键字使用一个输出流构造一个对象流流对象然后使用对象流对象的writeObject()就可以将参数为obj的对象写出15.Anonymous Inner Class(匿名内部类)是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?可以16.ArrayList和Vector的区别,HashMap和Hashtable的区别?Vector线程安全增长时涨一倍 arraylist涨一半Hashtable线程安全 hashmap可以用空值作为键值17.请写一段程序实现冒泡排序法。

Public static maopao(int[] data){Int temp;For(int i=0;i<data.length-1;i++){For(int j=i+1;j<data.length;j++){If(data[i]<data[j])Temp = data[i];Data[i] = data[j];Data[j] = temp;}}Return data;}三、问答题与编程技巧1.activity、Service、BroadcastReceiver的作用(android)Activity是安卓程序与用户交互的窗口是android构造块中最基本的一种他需要为保持各界面的状态做很多持久化的事情,妥善管理声明周期以及一些跳转逻辑Service 后台服务于activity 封装有一个完整的功能逻辑实现接受上层指令完成相关事务定义好需要接受的intent 提供同步和异步的接口BroadcastReceiver 接受一种或多中intent做触发事件接受相关消息做一些简单处理转换成一条notification 统一了android事件广播模型2.描述一个完整的Android activity lifecycleonCreate() onStart() onRemuse() onPause() onStop() onDestory()3.显式intent和隐式intent的区别是什么(android)显式明确指出了需要激活的组件隐式没有需要系统从intentfilter里挑选合适的组件4.满二叉树和完全二叉树的区别?5.Android中线程同步的方法Synchronized关键字与wait()notify()或者join()interrupt()6.怎么将一个Activity封装成对话框的样子? 怎样将Activity封装成长按Menu菜单的样子?7.请编程实现一个工厂模式public class Factory{public static Sample creator(int which){if (which==1)return new SampleA();else if (which==2)return new SampleB();}}8.自己写一个方法,重新加载Actiity时调用自定义的方法,可以对指定控件更新数据。

9.设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。

写出程序。

10.现在输入n个数字,以逗号,分开;然后可选择升或者降序排序;按提交键就在另一页面显示按什么排序,结果为xxx。

相关主题