收藏 分销(赏)

JAVAOO综和练习题.doc

上传人:s4****5z 文档编号:8798450 上传时间:2025-03-02 格式:DOC 页数:12 大小:58.50KB 下载积分:10 金币
下载 相关 举报
JAVAOO综和练习题.doc_第1页
第1页 / 共12页
JAVAOO综和练习题.doc_第2页
第2页 / 共12页


点击查看更多>>
资源描述
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. 序列化对象要实现哪个界面? serializiable 40. 对象的序列化怎么实现的? 把一个对象转换成二进制数据输出; (对象的反序列化:把二进制数据还原成/转换成内存中的过程) 41. 输入输出流分几种? 字节流 字符流 对象流 42. TCP/IP协议和UDP协议的区别? Tcp 安全协议,可靠 ,效率低 (不全时会重来回经过三次连接) Udp 不可靠; 43. XML的校验技术有几种?分别是什么?描述其各自的特点。 阅读代码,说出其执行结果。 44. public class MyTest { public int x; static{ System.out.println("父类静态代码块"); } public MyTest(){ System.out.println("父类构造方法"); } public static void main(String[] args) { new My(); new My(); } } class My extends MyTest{ static{ System.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()); } 运行结果: 1 46. public class TestAry{ public static void main(String args[]){ int[] ary = new int[10]; System.out.println(ary[10]); } } 运行结果: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 Person{ public Person(){ System.out.print(“Person”); } } class Man extends Person{ public 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()); } } 运行结果:2 51. public class Compute{ public int comp(){ return 1%5; } public static void main(String[]args){ new Compute(); System.out.println(comp()); } } 运行结果: 1 52. 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; } finally{ str+="c"; } str+="d"; } public static void main(String args[]){ strAdd(false); strAdd(true); System.out.println(str); } } 运行结果:acdbc 53. public class PrintChar{ static String str; public static void main(String args[]){ char c=str.charAt(0); System.out.print(c); } } 运行结果:NullPointerException(运行时错误) 54. public class TestString{ public static void strAdd(String str){ str=str+”java”; } public static void bufAdd(StringBuffer sb){ sb=sb.append("java"); } public static void main(String args[]){ String str=new String("java"); StringBuffer sb=new StringBuffer("lovo"); strAdd(str); bufAdd(sb); System.out.println(str+sb); } } 运行结果:java+lovojava
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 考试专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服