当前位置: 移动技术网 > IT编程>开发语言>Java > 一 Java基础知识

一 Java基础知识

2019年10月15日  | 移动技术网IT编程  | 我要评论

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字节码转换为特定机器码,一次编译,到处运行。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网