Java笔试必备知识重点梳理
需积分: 0 177 浏览量
更新于2024-07-24
收藏 739KB DOC 举报
"JAVA笔试宝典是一本针对Java程序员面试和笔试准备的指南,涵盖了Java基础知识、语法特性、面向对象编程、类与接口、异常处理、多线程、内存管理等多个方面的问题。这本书旨在帮助读者深入理解Java语言,并提供常见面试题的解答,提升求职竞争力。"
1. 一个".java"源文件中可以包含多个类,但只能有一个公共类(public class),其他类可以是非公共类,没有类名与文件名相同的限制。
2. Java语言中没有goto语句,它遵循结构化编程原则,鼓励使用流程控制结构如if、for、while和switch等来替代goto。
3. &是按位与运算符,&&是逻辑与运算符。前者对两个操作数的每个比特位进行比较,后者仅当两边的操作数都为真时结果才为真,且具有短路特性。
4. 在Java中,跳出多重嵌套循环可以使用break语句配合标签(label)实现,例如:`outer: for {...} inner: for {...} { if (condition) break outer; }`
5. switch语句不能作用在byte上,但在Java 7之后可以作用于char,从Java 11开始还可以作用于字符串(String)。
6. 对于short类型的变量,直接赋值`s1=s1+1`会导致数据溢出,因为+1操作会先转换成int类型,应使用`s1 += 1`以保持类型不变。
7. char型变量可以存储一个中文汉字,因为一个中文汉字在Unicode编码中通常占用两个字节,与char类型匹配。
8. 最有效率计算2乘以8的方法是直接写`2 * 8`,因为这是编译器优化后的基本算术运算。
9. 设计一个一百亿的计算器需要考虑数值精度问题,可能需要使用BigDecimal类处理大整数和高精度浮点数运算。
10. 使用final关键字修饰变量,意味着该变量的引用一旦赋值后不能改变,对于引用类型,这意味着不能指向另一个对象,但引用的对象内容可以变。
11. "=="用于比较基本类型是否相等,而equals方法用于比较对象内容是否相等,对于String类型,还需要注意null值的情况。
12. 静态变量属于类,而实例变量属于对象,静态变量可以被类的所有实例共享,实例变量则与对象实例绑定。
13. 不能从static方法内部直接调用非static方法,因为static方法在没有对象实例的情况下也可以执行,无法访问非static方法需要对象实例才能调用的成员。
14. Integer是int的包装类,它们在使用上有所不同,如自动装箱拆箱、常量池特性等。Integer对象的比较默认使用equals方法,而int值的比较使用"=="。
15. Math.round(11.5)等于12,Math.round(-11.5)等于-11,round方法四舍五入到最接近的整数。
16. 代码的不妥之处可能涉及语法错误、逻辑错误或效率问题,具体需查看代码内容。
17. public表示全局访问,private表示私有,protected表示包内及子类访问,不写时表示包内访问。
18. Overload是重载,方法名相同但参数列表不同;Override是重写,子类方法覆盖父类方法,签名必须一致。重载的方法可以改变返回值类型,但重写不可以。
19. 构造器Constructor不能被override,但可以被重载。
20. 接口可以继承接口,抽象类可以实现接口,抽象类也可以继承具体类,抽象类中的main方法可以是静态的,但不构成Java应用程序的入口点。
21. 实现clone()方法时,通常会有`super.clone()`调用来创建一个对象的副本。
22. 面向对象的特征包括封装、继承和多态。
23. Java通过方法重写(Override)和接口实现来实现多态。
24. abstract class和interface都可以声明抽象方法,但abstract class可以包含非抽象方法和成员变量,而interface只能声明公共抽象方法和常量。
25. abstract方法不能是static、native或synchronized,因为这些特性与抽象方法的定义冲突。
26. 内部类是嵌套在另一个类内部的类,分为静态内部类(StaticNestedClass)和非静态内部类(Inner Class)。静态内部类可以直接被实例化,无需外部类的实例,而非静态内部类需要外部类的实例才能创建。
27. 内部类可以引用其包含类的成员,包括私有成员,但非静态内部类不能直接访问静态成员,需要通过外部类实例访问。
以上是Java笔试宝典中涉及到的一些重要知识点,涵盖了Java的基础语法、面向对象特性和高级特性,这些都是Java程序员需要掌握的核心概念。
2010-10-20 上传
2009-08-10 上传
2013-09-03 上传
2009-04-02 上传
2009-12-02 上传
2009-03-21 上传
2009-04-01 上传
2009-12-13 上传
肖武797
- 粉丝: 1
- 资源: 1
最新资源
- 单片机串口通信仿真与代码实现详解
- LVGL GUI-Guider工具:设计并仿真LVGL界面
- Unity3D魔幻风格游戏UI界面与按钮图标素材详解
- MFC VC++实现串口温度数据显示源代码分析
- JEE培训项目:jee-todolist深度解析
- 74LS138译码器在单片机应用中的实现方法
- Android平台的动物象棋游戏应用开发
- C++系统测试项目:毕业设计与课程实践指南
- WZYAVPlayer:一个适用于iOS的视频播放控件
- ASP实现校园学生信息在线管理系统设计与实践
- 使用node-webkit和AngularJS打造跨平台桌面应用
- C#实现递归绘制圆形的探索
- C++语言项目开发:烟花效果动画实现
- 高效子网掩码计算器:网络工具中的必备应用
- 用Django构建个人博客网站的学习之旅
- SpringBoot微服务搭建与Spring Cloud实践