1)面向对象的特性有哪些?

答:封装、继承和多态。

2)Java 中覆盖(Override)和重载(Overload)是什么意思?

答:覆盖是指子类对父类方法的一种重写,只能比父类抛出更少的异常,访问权限不能比父类的小;被覆盖的方法不能是 private 的,否则只是在子类中重新定义了一个方法。

  重载表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同。

问: 那么构成重载的条件有哪些?

答:参数类型不同、参数个数不同、参数顺序不同。

问: 函数的返回值不同可以构成重载吗?为什么?

答:不可以,因为 Java 中调用函数并不需要强制赋值。

3)抽象类和接口的区别有哪些?

  1. 抽象类中可以没有抽象方法;接口中的方法必须是抽象方法;

  2. 抽象类中可以有普通的成员变量;接口中的变量必须是 static final 类型的且必须被初始化 , 接口中只有常量没有变量。

  3. 抽象类只能单继承,接口可以继承多个父接口;

  4. Java8 中接口中会有 default 方法,即方法可以被实现。

问:抽象类和接口如何选择?

  1. 如果要创建不带任何方法定义和成员变量的基类,那么选择接口。

  2. 如果必须要有方法定义和成员变量的时候,那么选择抽象类。

4)Java 中的值传递和引用传递

答:值传递意味着传递对象的一个副本,副本改变,不影响源对象。

  引用传递意味着传递对象的引用,引用对象改变,所有对象改变。

5)JDK 中常用的包有哪些?

答:java.lang、java.util、java.io、java.net、java.sql。

6)JDK,JRE 和 JVM 的联系和区别:

答:JDK 是 Java 开发工具包,编写Java程序的程序员使用的软件

  JRE 是 Java 运行时环境,运行Java程序的用户使用的软件,它包含虚拟机但不包含编译器。

  JVM 是 Java 虚拟机,负责将Java字节码转换为特定机器码,一次编译,到处运行。

最新文章

  1. 浅谈MVC中路由
  2. python datetime模块
  3. Caché数据库学习笔记(3)
  4. codewars-random(4)
  5. 【JAVAWEB学习笔记】网上商城实战2:异步加载分类、Redis缓存分类和显示商品
  6. 将execl里的数据批量导入数据库
  7. 双向BFS—>NOIP2002 字串变换
  8. cmd中sudo以后显示password不能输入密码
  9. Jersey入门——对Json的支持
  10. 《linux性能及调优指南》 3.4 硬盘瓶颈
  11. Manacher's Algorithm 马拉车算法(求最长回文串)
  12. Dede更新提示DedeTag Engine Create File False的解决办法
  13. discuz安装小云app
  14. 查看、分析memcached使用状态
  15. python学习笔记(五)— 内置函数
  16. 虚拟机中安装windows server 2008方法
  17. P4559 [JSOI2018]列队
  18. erlang中的原子(atom)内部实现[转]
  19. 算法(Algorithms)第4版 练习 1.4.5
  20. Hive- 表

热门文章

  1. RocketMQ和Kafka的差异对比
  2. cmd 端口占用
  3. JQ其他
  4. Centos7——docker持久化存储和卷间状态共享(笔记)
  5. 【weblogic】WTC配置(Weblogic Tuxedo Connector)
  6. sqlite3创建自增主键,以及清空表使自增列归零
  7. Python 正则表达式Ⅱ
  8. 在angular中使用ng-repeat时数组中有重复元素,要用item in items track by $index
  9. 批处理(.bat)文件使用笔记
  10. 在linux安装php