Java笔试重点:作用域、匿名内部类与静态嵌套类解析

4星 · 超过85%的资源 需积分: 9 53 下载量 112 浏览量 更新于2023-03-03 1 收藏 67KB DOC 举报
"Java程序员常见的笔试题涉及到Java访问修饰符、匿名内部类、静态嵌套类、位运算符与逻辑运算符、集合类接口及工具类、断言使用以及String对象的创建等知识点。" 1. 访问修饰符的区别: Java中的访问修饰符有public、private、protected和friendly(默认)。public类或成员可以在任何地方被访问;private成员只能在定义它们的类内部访问;protected成员在同一包内和子类中可访问;friendly(默认)成员仅在定义它们的包内可访问。 2. 匿名内部类: 匿名内部类没有名称,不能继承其他类,但可以实现接口。它通常用于简洁地实现一次性使用的类,例如作为参数传递或者创建回调。 3. 静态嵌套类与普通内部类: 静态内部类(Static Nested Class)不需要外部类的实例就可以创建,而普通内部类(Inner Class)需要。静态内部类不能直接访问外部类的非静态成员,但可以通过对外部类的引用访问。普通内部类可以直接访问外部类的所有成员,包括静态和非静态。 4. &和&&的区别: &是位运算符,用于按位与操作,而&&是逻辑运算符,用于逻辑与。在布尔表达式中,&&会进行短路操作,即如果第一个操作数为false,则不会计算第二个操作数。 5. Collection与Collections: Collection是集合框架的顶级接口,定义了集合的基本操作。Collections是一个工具类,提供了对集合的各种实用操作,如排序、查找、同步控制等。 6. assert的使用: 断言(Assertion)主要用于调试,它允许开发者在代码中插入条件检查,确保程序的某个假设始终为真。断言在开发和测试阶段开启,通常在发布时关闭,以提高性能。 7. String对象的创建: 当创建字符串"xyz"并赋值给新的String对象时,会创建两个对象。一个是在常量池中的"xyz"字符序列,另一个是新创建的String对象,它引用了常量池中的字符串。 8. Math.round()方法: Math.round()用于四舍五入一个浮点数到最接近的整数。如果被四舍五入的数字在中间,它会向上取整(对于正数)或向下取整(对于负数)。 以上知识点都是Java程序员在笔试中可能遇到的常见问题,理解并掌握这些概念对于Java编程和面试非常重要。