Java基础知识详解:作用域、匿名内部类与集合

需积分: 0 1 下载量 29 浏览量 更新于2024-09-19 收藏 50KB DOC 举报
"这些题目涵盖了Java编程语言的基础概念,包括作用域、匿名内部类、静态内部类和普通内部类的区别、位运算符与逻辑运算符的差异、集合框架中的Collection接口与Collections工具类的使用,以及断言(assert)的运用。此外,还涉及到了String对象的创建和内存占用情况。" 1. **Java作用域**:在Java中,public、private、protected以及不写的作用域不同。public作用域是最开放的,任何地方都可以访问;protected允许在同一包内及子类中访问;friendly(也称为包级私有)只允许在同包内的类访问;private只能在定义它的类内部访问。不写时,默认为friendly。 2. **匿名内部类**:匿名内部类没有名字,可以直接实现接口,但不能继承其他类。它可以用来快速实现一个简单的接口,简化代码。 3. **静态内部类与普通内部类**:内部类分为静态和非静态。静态内部类不需要对外部类的引用,而普通内部类需要。这意味着,创建静态内部类的对象不需要外部类的对象,反之则需要。同时,静态内部类不能直接访问外部类的非静态成员。 4. **位运算符与逻辑运算符**:`&`是位运算符,它对两个操作数的每个位进行逐位与运算;`&&`是逻辑与运算符,只有当两边的操作数都为真时,结果才为真。逻辑运算符在进行短路运算,即如果第一个操作数为假,不会计算第二个操作数。 5. **Collection与Collections**:Collection是Java集合框架的顶级接口,它是Set和List接口的父接口。Collections是Java提供的一个工具类,提供了大量静态方法来操作集合,如排序、查找、翻转等。 6. **assert关键字**:assertion用于在开发和测试阶段检查程序的正确性,它允许程序员设置断言条件,如果条件为假,程序会抛出AssertionError。在生产环境中,通常会关闭assertion以提高性能。 7. **String对象创建**:在Java中,`new String("xyz")`会创建两个对象。一个是常量池中的字符串"xyz",另一个是堆内存中新创建的String对象,它引用常量池中的"xyz"。 以上就是Java基础试题中涉及的关键知识点,这些内容对于理解和掌握Java编程语言的基础至关重要。