"这篇文档包含了JAVA和J2EE面试中常见的问题,主要涉及JAVA的基础知识,如面向对象的特征、String类与基本数据类型的对比、int与Integer的区别等。"
在JAVA编程语言中,面向对象的四大特征是抽象、继承、封装和多态性:
1. 抽象:抽象是将复杂的问题简化,关注核心特性,忽略非关键细节。它包括过程抽象(定义操作步骤)和数据抽象(隐藏内部实现,只暴露必要的接口)。
2. 继承:继承是类之间的一种关系,一个类(子类)可以从另一个类(父类)继承属性和方法,从而实现代码的重用和扩展。这有助于创建类的层次结构,提高代码的灵活性和可维护性。
3. 封装:封装是将数据和操作数据的方法绑定在一起,对外界隐藏实现细节,只提供公共接口供外部访问。这样可以保护数据不被随意修改,增强了数据的安全性。
4. 多态性:多态性使得不同的对象对同一消息能做出不同的响应。Java中的多态分为参数化多态(如泛型)和包含多态(如方法重写)。它使得代码更具通用性,方便复用,同时解决了同名函数的调用问题。
在面试中,关于字符串的问题经常出现。String在Java中虽然常用,但并非基本数据类型,而是对象。基本数据类型包括byte、int、char等。String类是final的,不能被继承,而且为了性能考虑,频繁修改字符串时应使用StringBuffer或StringBuilder类。
另外,Java中有原始数据类型(如int)和对应的封装类(如Integer)。原始类型是直接在内存中存储值,而封装类是对象,占用额外的引用。int是原始数据类型,Integer是其对应的引用类型,提供了更多的方法和功能。例如,Integer可以为null,而int不能。此外,Integer在进行自动装箱和拆箱时会有一些性能上的差异。
面试中还可能涉及到其他问题,如异常处理、集合框架、IO流、线程同步、设计模式等。对于J2EE部分,可能会询问Servlet、JSP、EJB、Spring框架、Hibernate ORM、MVC模式、JNDI服务、JMS消息队列等知识。准备面试时,全面理解和掌握这些概念以及它们在实际开发中的应用至关重要。