Java面试必备:基础笔试题解析

需积分: 10 9 下载量 185 浏览量 更新于2024-11-15 收藏 27KB TXT 举报
"Java工程师面试笔试题" 在Java编程领域,面试是评估候选人技术能力的重要环节,而笔试题则是面试前的初步筛选。对于Java工程师来说,熟悉并掌握基础的Java知识至关重要。以下是一些常见的Java面试笔试题,涵盖了类访问修饰符、匿名内部类、静态嵌套类、集合框架、断言以及字符串与数学运算等方面。 1. 类访问修饰符: Java中的类成员有四种访问修饰符:public、private、protected和默认(friendly)。在同一package内的类可以访问默认修饰符的类成员,而public成员可以在任何地方被访问。protected成员可以被同一包内的类和不同包的子类访问,private成员仅限于同一类内访问。 2. 匿名内部类: 匿名内部类不具有名称,可以直接实现接口或继承类。它可以在没有实例化对象的情况下声明和使用,通常用于一次性代码块。在Java 1.5之前,匿名内部类不能声明为静态的,但1.5之后允许这样做,这使得它们可以在没有外部类实例的情况下创建。 3. 静态嵌套类(Static Nested Class)与非静态嵌套类(Inner Class): 静态嵌套类类似于C++中的嵌套类,不持有对外部类的引用,可以在没有外部类实例的情况下创建。而非静态嵌套类(Inner Class)在创建时必须依赖一个外部类的实例,且在内存中表现为与外部类紧密关联的对象。 4. 集合框架: Java的集合框架主要包括Collection和它的子接口Set、List。Collections是操作集合的工具类,提供了许多静态方法,如排序、查找等。Set接口表示不允许重复元素的集合,而List接口则允许元素有顺序并可重复。 5. 断言(Assertion): 断言是Java中用于调试的机制。`assert`语句用于检查程序状态,只有在启用断言时(通过启动参数`-ea`)才会执行。如果断言语句的条件为true,程序继续执行;如果条件为false,会抛出AssertionError异常,除非使用了`assert condition : expression;`这种形式,其中expression是错误信息。 6. 字符串操作: 创建`String s = new String("xyz");`会在常量池中创建一个"xyz"的引用,然后在堆上创建一个新的String对象。而`String s = "xyz";`则直接引用常量池中的"xyz"。`String(String original)`构造器用于创建一个与传入字符串相同内容的新对象。 7. 数学运算: `Math.round(11.5)`返回12,因为`round()`方法会四舍五入到最接近的整数。对于负数,`Math.round(-11.5)`返回-11,遵循向零取整的原则。因此,`Math.round(11.5)==12`和`Math.round(-11.5)==-11`均成立。 这些是Java面试中常见的基础问题,理解并熟练掌握这些知识点将有助于Java工程师在面试中脱颖而出。建议不断巩固基础,深入理解Java语言的核心概念,以便在实际工作中能够游刃有余。