Java笔试重点:作用域、内部类与集合操作解析

需积分: 9 2 下载量 19 浏览量 更新于2024-07-26 收藏 54KB DOCX 举报
"Java复习重点整理,包括Java基础概念、语法特性和常用API的使用,适合备考者复习巩固。" Java编程语言是软件开发中的重要工具,尤其在企业级应用和互联网开发中占据主导地位。这里整理了一些Java笔试题及答案,帮助大家深入理解和记忆Java的关键知识点。 1. **作用域public,private,protected,以及不写时的区别** - `public`:任何地方都可以访问。 - `private`:仅限于当前类内部访问。 - `protected`:当前类、同一包内及子类可以访问。 - `friendly`(无修饰符)或`default`:当前类和同一包内的类可以访问。 - 不写修饰符时,默认为`friendly`,即只有当前类和同包内的类可以访问。 2. **匿名内部类** - 匿名内部类没有名字,可以实现接口,但不能直接继承其他类。 - 可以作为局部变量、方法参数、返回值,常用于简化代码,尤其是实现回调或事件监听器。 3. **StaticNestedClass和InnerClass的不同** - 静态内部类(Static Nested Class)不持有对外部类的引用,可以独立存在,不需要外部类实例即可创建对象。 - 内部类(Inner Class)拥有对外部类的隐式引用,每次创建内部类对象时都需要一个外部类的对象。 4. **&和&&的区别** - `&` 是位运算符,执行按位与操作,无论条件如何都会执行后续操作。 - `&&` 是逻辑与运算符,若左侧表达式为假,则不执行右侧表达式,这种方式称为短路操作。 5. **Collection和Collections的区别** - `Collection` 是所有集合类的父接口,包含`Set`和`List`等子接口。 - `Collections` 是一个工具类,提供了一系列静态方法,用于操作集合,如排序、查找、线程安全化等。 6. **assert的使用** - `assert` 用于在开发和测试阶段进行断言,确保程序状态正确。在发布环境中,通常会关闭assertion以提高性能。 7. **Strings=new String("xyz"); 创建的String对象数量** - 创建了两个对象:一个字符串常量池中的"xyz"对象,一个由`new`关键字创建的独立的"xyz"对象。 8. **Math.round(11.5)的结果** - `Math.round()` 方法将浮点数四舍五入为最接近的整数。所以`Math.round(11.5)` 结果为 12。 以上知识点涵盖了Java的基础语法、面向对象特性以及常用API的使用。在复习Java时,这些内容是必不可少的,掌握它们能够提升编程能力和应对面试的能力。