"java100道常见面试题" 在Java面试中,掌握基础知识至关重要,以下是一些关键知识点的解析: 1. Java源文件与类的关系:一个.java文件可以包含多个类,但只能有一个公开的(public)类,其余类可以是非公开的(如private、包级私有)。 2. goto关键字:Java中没有goto关键字,它是一种流程控制语句,但在Java中通常使用break和continue来替代。 3. &和&&的区别:&是逻辑与运算符,无论两边条件如何都会执行;&&是短路与运算符,如果左边为假,右边不会执行。 4. 跳出多重嵌套循环:可以用label配合break语句跳出多重循环,或者使用return语句结束当前方法。 5. switch语句:不能作用于byte类型,因为switch只支持byte、short、char和枚举类型(Java 7及以上),以及int和其对应的Boxing类型(Java 7及以上)。Java 14之后,switch表达式支持字符串(String)。 6. short变量相加:直接赋值(s1 = s1 + 1)会导致数据溢出,因为会先转换为int类型计算再赋值回short。使用s1 += 1则会自动处理这种转换。 7. char存储中文:可以,因为一个char占两个字节,足以存储一个中文字符。 8. 计算2乘以8:最简单的方法是使用Math.pow(2, 3),或直接使用位运算符2 << 3。 9. 一百亿计算器:设计高精度计算器要考虑大整数的运算,可以使用BigDecimal类进行高精度计算。 10. final关键字:final修饰的变量,其引用不能改变,如果是引用类型,意味着所指向的对象不能变,但对象的内容可以变。 11. "=="与equals的区别:"=="比较的是对象的引用,而equals比较的是内容(除非重写equals方法)。 12. 静态变量与实例变量:静态变量属于类,不依赖于对象存在,而实例变量属于对象,每个对象有自己的副本。 13. 从static方法内部调用非static方法:不允许,因为static方法与对象无关,无法直接访问对象特有的非static成员。 14. Integer与int:Integer是int的包装类,用于处理对象,而int是基本类型,直接存储数值。 15. Math.round:Math.round(11.5)等于12,Math.round(-11.5)等于-11。 16. 代码不妥之处:可能涉及未初始化的变量、潜在的空指针异常等问题。 17. 作用域:public对所有类可见,private仅本类可见,protected本类和子类可见,无修饰符(默认)在同一包内可见。 18. Overload与Override:Overload是重载,方法名相同但参数列表不同;Override是重写,子类方法完全匹配父类的某个方法。 19. 构造器不能被override,但可以重载。 20. 接口可以继承接口,抽象类可以实现接口,但不能继承具体类。静态main方法不能在抽象类中定义,因为main方法是程序入口,必须与类实例无关。 21. clone方法:通常会添加`super.clone()`以复制对象。 22. 面向对象特征:封装、继承、多态。 23. Java多态:通过接口、抽象类和方法重写实现。 24. abstract class与interface:抽象类可以有方法实现,可以有非抽象方法,可以有构造器,可以有属性;接口只有方法声明,不能有实现,不能有构造器。 25. abstract与static、native、synchronized:abstract不能与static和native一起使用,但可以与synchronized一起使用。 26. 内部类:类中的类,分为静态嵌套类(Static Nested Class)和非静态内部类(Inner Class)。静态嵌套类与外部类之间没有隐含引用,而内部类可以直接访问外部类的成员。 27. 内部类引用外部类:内部类可以引用外部类的成员,包括私有成员,但不能引用外部类的静态成员。 28. 匿名内部类:没有名字的类,通常用于创建一次性的简短实现,可以用来实现接口或继承类。 这些面试题覆盖了Java的基础语法、类与对象、多态、内存管理等多个方面,理解和掌握这些知识点对于成为一名合格的Java开发者至关重要。
剩余63页未读,继续阅读
- 粉丝: 5
- 资源: 16
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展