JAVAOO综和练习题.doc_第1页
JAVAOO综和练习题.doc_第2页
JAVAOO综和练习题.doc_第3页
JAVAOO综和练习题.doc_第4页
JAVAOO综和练习题.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1. 面向对象的特征有哪些?详细描述各自的特点。抽象:抽象类不能产生对象,即不被实例化,必须被子类继承; 有抽象方法的类一定为抽象类,但为抽象类的不一定有抽象方法,抽象方法必须被子类重写;多态:相同的行为,不同的实现;1)静态多态:程序在编译时系统就能决定调用那个方法(重载);2)动态多态:在运行期才知道调用哪一个里面的方法(重写、动态绑定);封装:影藏实现细节的过程;1)类的成员变量可为只读或只写;2)类可以对存储在成员变量中的内容有一个整体的控制;3)类的用户不需要知道类是如何存储数据的(important);继承:通过扩展一个已有的类,并继承该类的属性和行为;1)代码的可重用性;2)父类的属性和方法可用于子类;3)子类可以扩展父类的属性和方法;4)使设计应用程序变得更简单;2. Java程序的执行过程是怎样的?*.java编译(*.class文件)-加载 - 字节码校验 - 解释并运行(JVM)加载过程:类加载 - 连接(验证、准备、解析)- 初始化3. 什么是静态初始化块?什么是实例初始化块?在程序运行时就开始被初始化( static ); 实例初始化块相当于构造方法,必须在new 之后才会被初始化( );4. 写出main方法的完整定义?static可以写在public前面吗?Public static void main(String args) Static public void main(String args)5. JDK与JRE分别是什么? JDK是Java的开发工具;而JRE是Java的运行环境;6. swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?Switch后只能跟整型(int short) 和 byte 的数据;7. Java的数据类型有哪些?基本数据类型(整型:byte 、short、int、long ;浮点型:float、double;字符型:char;布尔型:boolean)、引用数据类型(类:class;接口:interface;数组) ;8. Java引用数据类型有哪些?应用数据类型有:类class 、 接口 interface 、 数组;9. 类变量与成员变量的区别?类变量:局部变量(静态变量);成员变量:即为全局变量(对象的属性);10. 访问修饰符有哪几种?它们之间的区别是什么?Public (所有类均可访问)Protected (该类及其成员的子类,非同包非子类不行)默认 (只有同包中可访问)Private (只有自己这个类可以访问)11. int与Integer的区别?int 是基本数据类型中的整性;Integer 是包装类中的整型;12. 对对象进行比较怎么做?为什么不用“= =”?通过调用equals()方法进行两个对象地址的比较 ; “=”表示 比较 确定的值;13. 接口与抽象类的区别? 接口interface用来被实现,必须重写里面的所有方法,无构造方法;抽象abstract必须被继承;14. this、super的用法与区别?This调用表示 当前对象的调用;Super调用表示 重写父类的构造器,来显示的引用父类继承的成员变量或方法;15. Java中产生对象的方式有哪些?通过调用new 来生成一个新的对象;反射;反序列化serializable;克隆 cloneable;(同步关键字:synchronized)16. 什么是多态?多态的实现包括哪些方面? 多态:相同的行为,不同的实现;有:静态多态(重载)、动态多态(重写)、动态绑定;17. 抽象类和界面的区别? 接口用来被实现,必须重写里面的所有方法;抽象必须被继承;18. 如果父类中某些方法不包含逻辑,需要由子类来重写,应该使用什么关键字来声明此父类? Abstract;19. 构造方法的作用? 初始化当前成员变量;产生对象;20. 构造方法能不能被重写、重载、继承,其修饰符能不能声明为private? 21. 在构造方法中使用super()是调用了什么方法? Super()调用了父类的构造器;22. final、finally、finalize的区别? Final: 修饰类(不能被继承)、修饰属性(不能被修改)、修饰方法(不能被重写); Finally: 用在try. Catch.之后,一定会被执行的; Finalize:对象的finaliza()方法,对象被回收之前会调用的方法;23. 请说出System.out.println(Math.round(11.5)的结果?Math.round(-11.5)呢?Round 四舍五入(11.5 = 12) ; floor 向下取整(11.5 = 11);Ceil 向上取整(11.0001 = 12);System.out.println(Math.round(11.5) 的结果: 12;Math.round(-11.5) 的结果: -11;24. 数组有没有length()这个方法? String有没有length()这个方法? 没有; String 有length()方法 ,表示返回此字符串的长度25. try-catch-finally三个基本块的作用?catch里的代码是干什么 Try块的代码会被保护;当try块中代码发生异常的时候,catch块就会去捕获该异常;Finally块是在最后一定会被执行的代码块;26. 说一下Error这个类。需要捕获它吗? 不需要;27. java中集合框架的顶层界面是哪个? JCF(JAVA集合框架):collection(list、set)放单一对象的元素 、 map(hashmap、treemap) 放键-值对象的元素;28. 在集合框架中,要实现自定义排序应该实现哪个界面? Set(treeSet) 、 map(treeMap);29. 启动线程调用什么方法? Thread th = new Thread (); Th.start();30. 在类OuterClass里有个内部类InnerClass,将OuterClass编译完成后会生成几个class档,分别是什么? 内部类InnerClass 会生成class(外面类名.door)31. 什么是线程同步?其关键字是什么? 线程同步指:一件事发生后另一件事接着发生;关键字是synchronized;(线程同步有两种:同步方法、同步块;)32. ArrayList与LinkedList的区别是什么? ArraryList指数组结构, LinkedList 指链表结构,33. 举出常用的list类。哪种情况用哪种好? Arrarylist 数组结构 linklist 链表结构 vector (线程同步,效率低) 如从最后增、删元素 或是 查询元素 时 用 Arrarylist效率高; 如从中间 或 前面增、删元素 时 用 Linklist 效率高; JDK1.2后,线程不安全(异步),但效率高;34. list与set的区别?里面常用的类有哪些? List类中的元素 有序 且 可重复 ;(arrayList linkList Vector) Set 类中的元素 无序(放进的与最终的顺序不同) 且 不可 重复;(hashSet TreeSet)35. Hashtable和HashMap的区别? Hashtable JDK1.0 的集合类,线程同步 (安全,效率低),不允许空键和空值; Hashmap JDK1.2 的集合类,线程不安全,效率高, 允许空键和空值;36. 循环遍历ArrayList的方法有几种?分别是什么? 1)for循环 2)迭代器 Iterator it = list Iterator ( ) ;While(it.hasNext) 3) foreach循环;(jdk1.5的访问方法)37. 获取Class对象的方法有几种?分别是什么?对象是 类 所对应的 类模版 产生的;1) 先产生对象,再对象名.getClass();2) 通过类名.class得到类模板对象;3) Class.forName(全限定类名);即全路径:既包名+类名38. Java中的注释有哪些?XML中的注释有哪些?39. 序列化对象要实现哪个界面?serializiable40. 对象的序列化怎么实现的?把一个对象转换成二进制数据输出;(对象的反序列化:把二进制数据还原成/转换成内存中的过程)41. 输入输出流分几种?字节流 字符流 对象流42. TCP/IP协议和UDP协议的区别?Tcp 安全协议,可靠 ,效率低 (不全时会重来回经过三次连接) Udp 不可靠;43. XML的校验技术有几种?分别是什么?描述其各自的特点。阅读代码,说出其执行结果。44.public class MyTest public int x;staticSystem.out.println(父类静态代码块);public MyTest()System.out.println(父类构造方法);public static void main(String args) new My();new My();class My extends MyTeststaticSystem.out.println(子类静态代码块);public My()System.out.println(子类构造方法);运行结果 :父类构造方法子类构造方法45.class Person public int speak(int sm) return sm+1; class Man extends Person / 重载 public int speak(int sm, char c) return sm+2; public static void main(String args) Man man=new Man(); System.out.println(man.speak(); 运行结果: 146.public class TestAry public static void main(String args) int ary = new int10; System.out.println(ary10); 运行结果:ArrayIndexOutOfBoundsException,运行时异常47.public class TestThread extends Thread public static void main(String args) TestThread tt = new TestThread(); tt.start(); public void start() System.out.println(“进入start方法”); public void run() System.out.println(“进入run方法”);运行结果:进入start方法;(不会启动的)48.class Personpublic Person()System.out.print(“Person”);class Man extends Personpublic Man()System.out.print(“Man”);public static void main(String args)Man b=new Man();运行结果:PersonMan(先调父person,在调子man)49.public class Test public static void main(String args) Test t = new Test(); t.show(); public void show() int a; System.out.println(a);运行结果:编译时会报错,每一个之前都需初始化;50.public class Count static int cnt; public int addCnt() cnt+; return cnt; public static void main(String args)Count count=new Count(); count.addCnt(); System.out.println(count.addCnt(); 运行结果:251.public class Compute public int comp() return 1%5; public static void main(Stringargs)new Compute(); System.out.println(comp(); 运行结果: 152.public class TestException public static String str=; public static void strAdd(boolean flag) try if(flag) throw new Exception(); str+=a; catch(Exception e) str+=b; return; fin

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论