1 Java基础知识
1)面向对象的特性有哪些?
答:封装、继承和多态。
2)Java 中覆盖(Override)和重载(Overload)是什么意思?
答:覆盖是指子类对父类方法的一种重写,只能比父类抛出更少的异常,访问权限不能比父类的小;被覆盖的方法不能是 private 的,否则只是在子类中重新定义了一个方法。
重载表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同。
问: 那么构成重载的条件有哪些?
答:参数类型不同、参数个数不同、参数顺序不同。
问: 函数的返回值不同可以构成重载吗?为什么?
答:不可以,因为 Java 中调用函数并不需要强制赋值。
3)抽象类和接口的区别有哪些?
抽象类中可以没有抽象方法;接口中的方法必须是抽象方法;
抽象类中可以有普通的成员变量;接口中的变量必须是 static final 类型的且必须被初始化 , 接口中只有常量没有变量。
抽象类只能单继承,接口可以继承多个父接口;
Java8 中接口中会有 default 方法,即方法可以被实现。
问:抽象类和接口如何选择?
如果要创建不带任何方法定义和成员变量的基类,那么选择接口。
如果必须要有方法定义和成员变量的时候,那么选择抽象类。
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字节码转换为特定机器码,一次编译,到处运行。
最新文章
- 浅谈MVC中路由
- python datetime模块
- Caché数据库学习笔记(3)
- codewars-random(4)
- 【JAVAWEB学习笔记】网上商城实战2:异步加载分类、Redis缓存分类和显示商品
- 将execl里的数据批量导入数据库
- 双向BFS—>;NOIP2002 字串变换
- cmd中sudo以后显示password不能输入密码
- Jersey入门——对Json的支持
- 《linux性能及调优指南》 3.4 硬盘瓶颈
- Manacher's Algorithm 马拉车算法(求最长回文串)
- Dede更新提示DedeTag Engine Create File False的解决办法
- discuz安装小云app
- 查看、分析memcached使用状态
- python学习笔记(五)— 内置函数
- 虚拟机中安装windows server 2008方法
- P4559 [JSOI2018]列队
- erlang中的原子(atom)内部实现[转]
- 算法(Algorithms)第4版 练习 1.4.5
- Hive- 表