最详细的 Java 基础面试题汇总( 三 )
7. Java 应用程序与小程序之间有哪些差别?简单说应用程序是从主线程启动(也就是 main() 方法) 。 applet 小程序没有 main() 方法 , 主要是嵌在浏览器页面上运行(调用init()或者run()来启动) , 嵌入浏览器这点跟 flash 的小游戏类似 。
8. 字符型常量和字符串常量的区别?
- 形式上: 字符常量是单引号引起的一个字符; 字符串常量是双引号引起的若干个字符
- 含义上: 字符常量相当于一个整型值( ASCII 值),可以参加表达式运算; 字符串常量代表一个地址值(该字符串在内存中存放位置)
- 占内存大小 字符常量只占 2 个字节; 字符串常量占若干个字节 (注意: char 在 Java 中占两个字节)
9. 构造器 Constructor 是否可被 override?Constructor 不能被 override(重写),但是可以 overload(重载),所以你可以看到一个类中有多个构造函数的情况 。
10. 重载和重写的区别重载发生在同一个类中 , 方法名必须相同 , 参数类型不同、个数不同、顺序不同 , 方法返回值和访问修饰符可以不同 。
下面是《Java 核心技术》对重载这个概念的介绍:
文章插图重写重写是子类对父类的允许访问的方法的实现过程进行重新编写,发生在子类中 , 方法名、参数列表必须相同 , 返回值范围小于等于父类 , 抛出的异常范围小于等于父类 , 访问修饰符范围大于等于父类 。 另外 , 如果父类方法访问修饰符为 private 则子类就不能重写该方法 。 也就是说方法提供的行为改变 , 而方法的外貌并没有改变 。
11. Java 面向对象编程三大特性: 封装 继承 多态封装封装把一个对象的属性私有化 , 同时提供一些可以被外界访问的属性的方法 , 如果属性不想被外界访问 , 我们大可不必提供方法给外界访问 。 但是如果一个类没有提供给外界访问的方法 , 那么这个类也没有什么意义了 。
继承继承是使用已存在的类的定义作为基础建立新类的技术 , 新类的定义可以增加新的数据或新的功能 , 也可以用父类的功能 , 但不能选择性地继承父类 。 通过使用继承我们能够非常方便地复用以前的代码 。
关于继承如下 3 点请记住:
- 子类拥有父类对象所有的属性和方法(包括私有属性和私有方法) , 但是父类中的私有属性和方法子类是无法访问 , 只是拥有 。
- 子类可以拥有自己属性和方法 , 即子类可以对父类进行扩展 。
- 子类可以用自己的方式实现父类的方法 。 (以后介绍) 。
- 未来想进入AI领域,该学习Python还是Java大数据开发
- 学习大数据是否需要学习JavaEE
- 从事Java开发时发现基础差,是否应该选择辞职自学一段时间
- 2021年Java和Python的应用趋势会有什么变化?
- 普通大学计算机专业的本科生,该选择主攻前端还是Java
- Java语言会不会随着容器的兴起而衰落
- 大一有考研计算机专业的打算,该学习C++还是Java
- 计算机专业的同学在掌握了Java之后,还可以学习哪门后端语言
- 不实习,如何增加Java项目经验
- 大学生如何提升Java编程能力
