Java面试必备知识点:基础篇
需积分: 10 133 浏览量
更新于2024-07-30
收藏 1.09MB DOC 举报
"Java面试宝典是一份针对Java软件开发面试者的复习资料,旨在帮助无经验的求职者在笔试和面试中取得成功。这份宝典覆盖了广泛的Java基础知识,包括语法、逻辑、编程技巧和面向对象概念。它强调在答题时不仅要给出正确答案,还要展示个人的理解和思考过程,以此来体现自己的专业知识和解决问题的能力。面试者应尽早开始学习并逐步积累,不要畏惧面试中的模糊问题,要有信心与面试官平等对话。对于应届生的薪资期望,要根据自身能力和实践经验来合理定位。"
以下是对部分知识点的详细说明:
1. **Java源文件与类的关系**:一个`.java`源文件可以包含多个类,但只能有一个公共类(public class),且该公共类的名称需与文件名相同。
2. **Java中的goto**:Java语言中没有`goto`关键字,这与C/C++等其他一些语言不同。
3. **&和&&的区别**:`&`是位运算符,用于按位进行与操作;在布尔逻辑中,`&`运算符会始终计算两边的操作数,即使左侧已知结果为假。`&&`是短路逻辑运算符,当左侧表达式为假时,不会计算右侧表达式。
4. **跳出多重嵌套循环**:可以使用`break`语句配合标签(label)来跳出多重循环,例如:`outer: while {...} inner: while {...} break outer;`。
5. **switch语句的使用**:在Java 7之前,switch不能用于`byte`、`char`、`short`和`int`之外的数据类型。自Java 7起,支持`String`类型的switch。
6. **short变量的加法**:直接赋值`short s1 = 1; s1 = s1 + 1;`会触发类型提升,可能导致编译错误,而`s1 += 1;`则会自动处理类型提升。
7. **char型变量与中文汉字**:char变量可以存储单个Unicode字符,因此可以存储中文汉字,但必须确保编码环境支持。
8. **效率计算2乘以8**:最有效率的方式是直接赋值:`int result = 2 << 3;`,利用位移运算。
9. **设计大数计算器**:在Java中,可以使用`BigInteger`类来处理大数运算。
10. **final关键字**:final修饰的变量其引用不可变,即不能指向其他对象,但引用的对象内容可以变。
11. **"=="与equals的区别**:"=="比较的是对象的引用,而`equals`方法(默认比较引用,但可重写)通常比较对象的内容。
12. **静态变量与实例变量**:静态变量属于类,所有类的实例共享同一个静态变量;实例变量属于每个对象的实例,每个实例有自己的副本。
13. **从静态方法调用非静态方法**:不允许直接从静态方法内部调用非静态方法,因为静态方法属于类,而非静态方法属于对象。
14. **Integer与int**:Integer是int的包装类,它们之间有自动装箱拆箱转换。Integer对象占用更多内存,而int是基本类型,更高效。
15. **Math.round方法**:`Math.round(11.5)`等于12,`Math.round(-11.5)`等于-11。
16. **代码不妥之处**:具体代码未给出,无法分析。
17. **作用域public,private,protected和默认的区别**:public对所有类可见,private只在当前类可见,protected对同一包内和子类可见,不写时默认为包内可见。
18. **Overload与Override**:Overload是方法名相同但参数列表不同的方法;Override是子类重写父类的方法。Overloaded方法不能改变返回值类型。
19. **构造器Constructor不能被override**:构造器不能被重写,但可以被重载。
20. **接口与接口继承,抽象类与接口**:接口可以继承接口;抽象类可以实现接口;抽象类可以继承具体类,但具体类不能继承抽象类。抽象类中的main方法可以是静态的。
21. **clone()方法**:通常在重写`clone()`时,需要调用`super.clone()`来创建对象的副本。
22. **面向对象的特征**:封装、继承、多态。
23. **Java中的多态**:通过接口或抽象类实现,使得不同类的对象可以使用相同的接口。
24. **abstractclass和interface**:抽象类可以有实现方法,可以有构造器,可以有实例变量;接口只有方法声明,没有实现,不能有构造器和实例变量。
25. **abstract与static,native,synchronized**:抽象方法不能同时是static或native,也不能是synchronized。
26. **内部类与静态嵌套类**:内部类可以直接访问外部类的成员,包括私有成员;静态嵌套类不能直接访问外部类的非静态成员,但可以通过实例化外部类对象来访问。
27. **内部类引用外部类成员**:内部类可以引用外部类的所有成员,包括私有成员,但静态内部类不能直接访问外部类的非静态成员,需要通过外部类实例。
以上只是部分内容的解析,整个面试宝典涵盖的知识点远不止这些,需要深入学习和理解。
184 浏览量
167 浏览量
2022-06-18 上传
177 浏览量
2022-11-13 上传
131 浏览量
1534 浏览量
1326 浏览量
zhaoxiao
- 粉丝: 27
- 资源: 23
最新资源
- article-api:使用Sails的文章API
- maurooviedo.com:使用vue.js和早午餐建立的个人网站博客
- Web网站实现用户的增删改查服务.zip
- nupurmurthy.github.io
- 维宏四轴五轴水切割V10用户手册-R1.rar
- 伺服控制器28335 sch.rar
- React-TS-Demo
- pyiron_atomistics:pyiron_atomistics-用于计算材料科学中原子模拟的集成开发环境(IDE)
- 和利时 中央空调专用PLCe.rar
- mysql-5.6.9-rc-winx64.zip
- 自动泊车代码Matlab-ANPR:ANPR是一种软件,可在收费站捕获车辆的图像,然后从图像中提取车辆的车牌,并执行OCR以获取车牌号,以进行
- holbertonschool-web_front_end
- NETCFv35.Messages.zh-CHT.wm.rar
- 聊天空间
- SIMATIC WinCC v7 正版有“礼”.rar
- JobScheduler