Java面试必备:基础题集
需积分: 6 60 浏览量
更新于2024-07-23
收藏 570KB DOC 举报
"这是一份综合性的Java面试题集,涵盖了Java基础知识,包括语法特性、数据类型、操作符、流程控制、类与对象、接口、多态性、内存管理等多个方面,适合Java开发者进行面试准备。"
以下是这些面试题涉及的知识点详解:
1. 一个".java"源文件中可以包含多个类,但只能有一个公开类(public class),其他的类可以是非公开类(如package-private,默认权限)。
2. Java中没有goto语句,它遵循结构化编程原则,提倡使用break、continue和return来控制程序流程。
3. &是位运算符,用于按位与操作;&&是逻辑运算符,用于短路逻辑与。当使用&&时,如果第一个操作数为假,则不会评估第二个操作数。
4. 要跳出多重嵌套循环,可以使用label + break语句,如:`outer: for (...) { inner: for (...) { if (condition) break outer; }}`
5. switch语句不能作用于byte,因为Java 7之前switch仅支持byte, char, short, int和枚举类型,但可以作用于Java 7引入的字符串(String)。
6. shorts1=1;s1=s1+1; 这里的错误在于short类型需要强制转换,因为s1+1的结果是int类型。而s1+=1则自动处理了类型转换。
7. char类型可以存储一个中文汉字,因为UTF-16编码中,一个中文字符占两个字节,char在Java中正好可以容纳这两个字节。
8. 计算2乘以8最有效率的方式是直接赋值:`int result = 2 * 8;`
9. 设计一个一百亿的计算器要考虑大数计算,可以使用BigInteger类来处理。
10. 使用final关键字修饰变量,意味着该变量一旦初始化后就不能再改变。如果是引用类型,引用本身不能改变,但引用的对象状态可以改变。
11. "=="比较的是变量的值,equals方法比较的是对象的内容。对于基本类型,两者意义相同;对于对象,"=="比较引用是否相等,equals比较内容是否相等。
12. 静态变量属于类,而实例变量属于对象。静态变量可以被类的所有实例共享,实例变量是每个实例独有的。
13. 不可以从static方法内部直接调用非static方法,因为static方法与类关联,而非static方法与类的实例关联。
14. Integer是int的包装类,它们之间存在自动装箱拆箱。Integer对象占用更多内存,且有缓存池,int是原始类型,效率更高。
15. Math.round(11.5)等于12,Math.round(-11.5)等于-11。round方法将浮点数四舍五入到最接近的整数。
16. 代码不妥之处可能涉及变量作用域、异常处理、资源关闭等问题,具体问题需看代码内容。
17. public表示全局可见,private表示仅限本类访问,protected表示在同一包或子类中可见,无修饰符表示同一包内可见。
18. Overload是重载,允许方法名相同但参数列表不同。Override是重写,子类方法必须与父类方法签名完全一致。Overloaded方法不能改变返回值类型。
19. 构造器Constructor不能被override,但可以被重载。
20. 接口可以继承接口,抽象类可以实现接口,抽象类可以继承具体类,静态main方法不能作为抽象类的实例入口点。
21. 实现clone()方法时,通常会包含`super.clone()`以创建对象副本。
22. 面向对象的特征包括封装、继承、多态。
23. Java中通过方法的重写(Override)和接口的多实现来实现多态。
24. abstract class可以包含方法实现,而interface中所有方法默认都是abstract(无实现)。接口强调“是什么”,抽象类强调“怎么做”。
25. abstract method不能同时是static,不能同时是native,也不能同时是synchronized,因为这些属性与抽象方法的定义相冲突。
26. 内部类是定义在一个类内部的类,分为静态嵌套类(StaticNestedClass)和非静态嵌套类(Inner Class)。静态嵌套类不持有外部类的引用,可以直接创建,而内部类需要外部类实例才能创建。
27. 内部类可以引用其包含类的成员,包括私有成员,但不能访问静态成员,除非通过外部类引用。静态嵌套类不能直接访问非静态成员,需要通过外部类实例访问。
点击了解资源详情
点击了解资源详情
点击了解资源详情
163 浏览量
2023-01-21 上传
2021-06-02 上传
2023-04-01 上传
wdw209416
- 粉丝: 0
- 资源: 1
最新资源
- T5:简单易用的配置文件读取库-开源
- trello-bookmarklets
- pause-methode
- school_back:回到学校的服务器
- monad-[removed]JavaScript中的Monad
- Simple Way to Usenet:Usenet Report Engine受到了已终止的newzbin的极大启发-开源
- C++14语言特性和标准库-第一部
- RCON-Bot:连接到SourceDS服务器并在指定通道中镜像控制台的discord Bot
- CAJ文件阅读器安装包
- login-lecture:登录讲座
- register-login-api:注册和登录功能的相关中间件使用
- 基于ASP.NET超市管理系统毕业设计成品源码讲解
- 你好,世界
- 基于python+django+NLP的评论可视化系统
- 货币换算增强版-crx插件
- ybubby:我的GitHub个人资料的配置文件