CoreJava面试必备:基础知识点与面试题解析

需积分: 7 1 下载量 21 浏览量 更新于2024-07-24 收藏 3.01MB PDF 举报
"corejava_面试题" Core Java是Java编程的基础,涵盖了广泛的编程概念和技术,是许多面试中不可或缺的部分。以下是一些常见的Core Java面试题及其解析,旨在帮助新手理解和巩固基础知识。 1. 一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 源文件可以包含多个类,但只能有一个公共类(public class),其他类可以是非公共的。所有类的命名应与文件名相同,除非它们是内部类。 2. Java有没有goto? Java没有goto语句,它鼓励使用结构化编程,通过流程控制结构如if, while, for等实现程序流程的转移。 3. 说说&和&&的区别。 & 是逻辑与运算符,无论两边条件如何都会进行计算;而&&是短路与运算符,如果左边表达式为假,右边的表达式将不会执行。 4. 在JAVA中如何跳出当前的多重嵌套循环? 可以使用break语句配合标签来跳出特定层次的循环,如:`label: for (...) { ... break label; }` 5. switch语句能否作用在byte上,能否作用在long上,能否作用在String上? switch可以作用于byte, char, short, int,枚举类型以及从Java 7开始的字符串(String)。 6. shorts1=1;s1=s1+1;有什么错?shorts1=1;s1+=1;有什么错? 第一句中,s1=s1+1会自动提升为int类型,需要强制类型转换回short。第二句中,s1+=1是合法的,因为Java会自动处理类型转换。 7. char型变量中能不能存贮一个中文汉字?为什么? 可以,因为一个char在Java中占用两个字节,足以存储Unicode编码的一个字符,包括中文汉字。 8. 用最有效率的方法算出2乘以8等於几? 直接写2 * 8即可,Java会高效地处理这种简单运算。 9. 使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变? final修饰的变量一旦赋值后就不能再改变,对于基本类型,值不可变;对于引用类型,引用本身不可变,但引用的对象的内容可以变。 10. "=="和equals方法究竟有什么区别? "=="比较的是变量的值,对于基本类型比较值是否相等,对于引用类型比较的是对象的引用是否相同。equals方法是Object类的方法,用于比较对象的内容是否相等,子类通常会重写这个方法以实现自定义的比较逻辑。 11. 静态变量和实例变量的区别? 静态变量属于类,由类的所有实例共享,而实例变量属于对象,每个对象有自己的副本。 12. 是否可以从一个static方法内部发出对非static方法的调用? 不可以直接,因为static方法不能访问非static成员,需要先创建对象实例,然后通过实例调用非static方法。 13. Integer与int的区别。 Integer是int的包装类,支持对象操作,如比较、null值等。int是原始数据类型,不支持对象操作。 14. Math.round(11.5)等于多少? Math.round(-11.5)等于多少? Math.round(11.5)等于12,Math.round(-11.5)等于-11,round方法四舍五入到最接近的整数。 15. 请说出作用域public,private,protected,以及不写时的区别。 - public:所有类都可以访问。 - private:只有同一类中的成员可以访问。 - protected:同一包内或不同包的子类可以访问。 - 默认(无修饰符):同一包内的类可以访问。 16. Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型? Overload(重载)是指在同一类中定义多个同名方法,但参数列表不同。方法的返回值类型不影响重载。Override(覆盖)是指子类重写父类的方法,必须保持方法名、参数列表及返回类型完全一致。 17. 构造器Constructor是否可被override? 构造器不能被覆盖,但可以被重载。 18. 接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承具体类(concreteclass)? 抽象类中是否可以有静态的main方法? - 接口可以继承接口。 - 抽象类可以实现接口。 - 抽象类可以继承具体类。 - 抽象类中可以有静态的main方法,但不会作为程序的入口点。 19. 写clone()方法时,通常都有一行代码,是什么? 通常会调用super.clone()以实现对象的浅复制。 20. 面向对象的特征有哪些方面? 面向对象主要包含封装、继承、多态三大特性,还有抽象、接口等概念。 以上这些问题涵盖了Core Java的基本概念,包括语法、数据类型、运算符、控制流、类与对象、封装、继承、多态等核心内容。理解并熟练掌握这些知识点是成为合格Java开发者的基础。