Java基础之基本概念(不定期更新。。。)

基本概念

1. 操作系统中heap和stack的区别
堆:(对象)堆内存的作用是存放运行时创建的对象。
栈:(基本数据类型、对象的应用变量)在栈上,对象出了作用域就会自动释放。栈内存的主要作用是存放基本数据类型和引用变量。

2. Interface和abstract的区别
A. Interface需要实现,要用implements;而abstract class需要继承,要用extends。
B. 一个类可以实现多个Interface,但一个类只能继承一个abstract class。
C. interface强调特有功能的实现,而abstract class强调所属关系。
D. 尽管interface实现类及abstrct class的子类都必须要实现相应的抽象方法,但实现的形式不同。interface中的每一个方法都是抽象方法,实现类必须要实现。而abstract class的子类可以有选择地实现。

3. 简单说说你了解的类加载器。是否实现过类加载器?
类加载器(class loader)用来加载Java类到Java虚拟机中。一般来说,Java虚拟机使用Java类的方式如下:Java源程序(.java文件)在经过Java编译器编译之后就被转换为Java字节码文件(.class文件)。类加载器负责读取Java字节代码,并转换为java.lang.Class类的一个实例。每个这样的实例用来表示一个Java类,通过此实例的newInstance()方法可以创建出一个此类的对象。有三种默认使用的类加载器:Bootstrap类加载器、Extension类加载器和System类加载器。


Java关键字和操作符

1. final、finalize和finally关键字

什么是finalize()方法?finalize()方法什么时候被调用?
??????

析构函数(finalization)的目的是什么?
析构函数的目的是撤销对象前完成一些清理工作,比如释放资源。释放了之后这些资源可以被回收,重新利用。

final关键字有哪些用法?
final关键字主要用于修饰类、类成员、方法以及方法的形参。

  • final修饰成员属性:说明该成员属性是常量不能被修改。
  • final修饰类:说明该类是终类,不能被继承。
  • final修饰方法:该方法是最终方法,不能被重写。
  • final修饰形参:???

2. final和static关键字可以用于哪里?
用于修饰成员变量和成员方法,可以理解为全局常量。对于变量,表示一旦给定值就不可以修改,并且通过类名可以访问;对于方法,表示不可以覆盖,并且可以通过类名直接访问。

猜你喜欢

转载自blog.csdn.net/qq_32682177/article/details/82853628
今日推荐