Java基础面试题(四)

2021/4/18 12:27:09

本文主要是介绍Java基础面试题(四),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

16. import java 和 javax 有什么区别

刚开始的时候 JavaAPI 所必需的包是 java 开头的包, javax 当时只是拓展 API 包来说使用。然而随着时间的推移,javax 逐渐扩展成为 JavaAPI 的组成部分。但是,将扩展从 javax 包移动到 java 包将是个大麻烦,最终会破坏一堆现有代码。因此,最终决定 javax 包将成为标准 API 的一部分。所以,实际上 java 和 javax 没有区别。这都是一个名字。

17. 接口和抽象类的区别

  1. 接口的方法默认是 public 的,所有方法在接口中都不能有实现(Java 8 开始接口方法可以有默认实现),抽象类可以有非抽象的方法
  2. 接口中的实例变量默认是 final 类型的,而抽象类中则不一定
  3. 一个类可以实现多个接口,但是只能实现一个抽象类
  4. 一个类实现接口的话就要实现接口的所有方法,而抽象类不一定
  5. 接口不能用 new 实例化,但可以声明,但是必须引用一个实现该接口的对象,从设计层面上来说,抽象是对类的抽象,是一种模板设计,接口是行为的抽象,是一种行为的规范

18. 成员变量与局部变量的区别

  1. 从语法形式上,看成员变量是属于类的,而局部变量是在方法中定义的变量或是方法的参数;成员变量可以被 public,private,static 等修饰符所修饰,而局部变量不能被访问控制修饰符及 static 所修饰;但是,成员变量和局部变量都能被 final 所修饰
  2. 从变量在内存中存储方式来看,成员变量是对象的一部分,而对象存在于堆内存,局部变量存在于栈内存
  3. 从变量在内存中的生存时间上看,成员变量是对象的一部分,它随着对象的创建而存在,而局部变量随着方法的调用而自动消失
  4. 成员变量如果没有被赋初始值,则会自动以类型的默认值而赋值(一种情况例外,被final 修饰的成员变量也是必须显示地赋值);而局部变量则不会自动赋值。

19. 创建一个对象用什么运算符?对象实体与对象医用有何不同?

new 运算符,new 创建对象实例(对象实例在堆内存中),对象引用指向对象实例(对象引用存放在栈内存中)。一个对象引用可以指向0个或者1个对象(一根绳子可以不系气球,也可以系一个气球);一个对象可以有n个引用指向它(它可以用n条绳子系住一个气球)

20. 什么是方法的返回值?返回值在类的方法里的作用是什么?

方法的返回值是指我们获取到的某个方法体中的代码执行后产生的结果!(潜意识该方法可能产生的结果)。返回值的作用:接受输出结果,使得它可以用于其他的操作。



这篇关于Java基础面试题(四)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程