"试题1_Java基础笔试题_各大公司面试题"
这些题目涵盖了Java编程语言的基础知识,包括访问修饰符的作用域、匿名内部类、静态内部类与普通内部类的区别、逻辑运算符与位运算符的差异、集合框架中的Collection与Collections接口、断言的使用以及String对象的创建和数学运算。
1. 访问修饰符的作用域:
Java中的访问修饰符有public、private、protected以及默认(无修饰符)。public成员可以在任何地方访问;protected成员在同一个包内和子类中可访问;friendly(默认)只在同一个包内可访问;而private成员仅限于在同一类内访问。
2. 匿名内部类:
匿名内部类没有名称,可以实现接口但不能继承其他类。它常用于简化代码,特别是在需要实现一个接口或继承一个类仅一次的地方。
3. 静态内部类与普通内部类:
静态内部类(Static Nested Class)不持有对外部类的引用,可以直接创建对象,而无需外部类对象的存在。相反,非静态内部类(Inner Class)需要一个外部类对象来创建实例,它们之间存在关联。
4. & 和 && 的区别:
& 是位运算符,用于进行按位与操作,而 && 是逻辑运算符,用于逻辑与操作。在条件判断中,&& 会进行短路操作,即如果第一个操作数为假,则不会评估第二个操作数。
5. Collection 和 Collections:
Collection 是所有集合接口的父接口,包括 Set 和 List。Collections 是一个工具类,提供了对集合进行操作的静态方法,如排序、查找、线程安全化等。
6. assert 的使用:
断言(Assertion)主要用于单元测试和调试阶段,它允许程序员在代码中插入检查点,确保特定条件为真。在生产环境中,通常关闭断言以优化性能。
7. String 对象的创建:
当执行 "Strings = new String("xyz");" 时,会创建两个对象:一个是在字符串常量池中的 "xyz" 字符串对象,另一个是堆内存中新创建的 String 对象,它引用了字符串常量池中的 "xyz"。
8. Math.round(11.5) 的结果:
Math.round() 方法用于四舍五入到最接近的整数。11.5 四舍五入后等于 12。
以上知识点都是Java程序员必备的基础,理解和掌握它们对于解决实际问题和通过面试至关重要。