Java面试:抽象类与接口深度解析

需积分: 9 6 下载量 144 浏览量 更新于2024-08-02 收藏 91KB DOC 举报
"Java面试题完整版(含参考答案).doc" 在Java开发领域,面试时常会涉及一些核心概念的考察,如抽象类与接口的对比,以及EJB和JavaBean的区别。以下是对这两个关键知识点的详细阐述。 首先,抽象类与接口是Java中实现多态性和抽象化的重要工具,它们之间存在显著差异。抽象类可以包含非抽象方法(即已实现的方法)和抽象方法,允许提供部分实现,这使得抽象类成为基类的理想选择,可以包含通用的属性和行为。然而,Java中的类只能单继承一个抽象类,这意味着一个类不能从多个抽象类继承。抽象类的实例无法直接创建,必须通过子类实例化来使用。 接口则不同,它完全由抽象方法组成,不包含任何实现。接口提供了多继承的机制,一个类可以实现多个接口,从而获得多个接口定义的行为。接口常用于定义合同,确保实现该接口的类遵循特定的规范。接口中的方法默认为public abstract,且可以声明静态常量。与抽象类不同,接口不能直接实例化,但可以通过实现接口的类的对象来调用接口中的方法。 其次,EJB(Enterprise JavaBeans)和JavaBean是Java应用程序开发中的两种不同组件模型。JavaBean是一种标准的Java组件,主要用于构建用户界面,提供属性、事件和方法,易于在客户端应用中复用和组合。它们通常是轻量级的,不涉及服务器端的复杂逻辑,适合在桌面或Web应用中使用。 EJB则是企业级的应用组件,设计用于分布式的企业级应用,尤其在服务器端执行。EJB组件包括三种类型:实体Bean(Entity Beans)处理持久化的业务数据,消息Bean(Message-driven Beans)用于处理消息队列,会话Bean(Session Beans)负责协调事务和业务逻辑。EJB运行在容器中,容器提供了诸如安全性、事务管理、生命周期管理和资源调度等服务。EJB比JavaBean更强大,但也更复杂,通常适用于大型企业级系统,需要高可用性和可伸缩性的场景。 了解并掌握这些核心概念对于Java开发者来说至关重要,它们不仅出现在面试中,也是实际项目开发中的基础。在面试时,能够深入理解并对比这些概念,能展示出对Java编程模型的深刻理解。
2009-09-17 上传
1. 用代码示例一个多态的例子 2. java的基本数据类型包括哪些,String是基本的数据类型吗 ? 3. int 和 Integer 有什么区别 4. String 和StringBuffer的区别 5. Collection 和 Collections的区别。 6. &和&&的区别。 7. Overload和Override的区别,试用java代码举例。 8. error和exception有什么区别? 9. abstract class和interface有什么区别? 10. final, finally, finalize的区别,试用java代码示例。 11. 什么时候用assert。 试给出例子 12. forward 和redirect的区别 13. GC是什么? 为什么要有GC? 14. short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 15. Math.round(11.5)等於多少? Math.round(-11.5)等於多少? 16. String s = new String("xyz");创建了几个String Object? 17. 设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。 18. Java有没有goto? 19. 启动一个线程是用run()还是start()? 20. 应用服务器有那些,列出你所知道的例子? 21. 接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类 22. Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 23. 它们有何区别? 24. 构造器Constructor是否可被override? 25. 是否可以继承String类? 26. swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上? 27. try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会 28. 编程题: 用最有效率的方法算出2乘以8等於几? 29. 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 30. 当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法? 31. 编程题: 写一个Singleton的示例。 32. 数组有没有length()这个方法? String有没有length()这个方法? 33、排除错误 interface Playable { void play(); } interface Bounceable { void play(); } interface Rollable extends Playable, Bounceable { Ball ball = new Ball("PingPang"); } class Ball implements Rollable { //… }