1.说一下fianl,fianlly,finalize的区别
一、final
声明变量
概念:当一个变量被final修饰的时候,该变量只有一次赋值的机会
例如:在此案例中在生命i为final的时候进行了第一次赋值,所以当i再次赋值10时会报错
在此案例中刚开始只是声明
练习题
答案:不能赋值,因为当此方法被调用时传入的参数就会对“final修饰的变量第一次赋值”
声明类
当一个类被final声明后,其子类不能被继承
声明方法
当一个类的方法被final声明后,其子类不能够重写此方法
声明引用
当一个引用被final声明后,该引用只有一次指向对象的机会
二、finally
- finally是在异常处理时提供finally块来执行任何清除操作。
- 不管有没有异常被抛出、捕获,finally块都会被执行。
- try块中的内容是在无异常时执行到结束。
- catch块中的内容,是在try块内容发生catch所声明的异常时,跳转到catch块中执行。
- finally块则是无论异常是否发生,都会执行finally块的内容,所以在代码逻辑中有需要无论发生什么都必须执行的代码,就可以放在finally块中。
三、finalize
- finalize是方法名。
- java技术允许使用finalize()方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有"被引用指向"时对这个对象调用的。
- 它是在object类中定义的,因此所有的类都继承了它。子类覆盖finalize()方法以整理系统资源或者被执行其他清理工作
- finalize()方法是在垃圾收集器删除对象之前对这个对象调用的。
2.关于全局变量、成员变量、局部变量的描述。详见(https://www.runoob.com/java/java-variable-types.html)
全局变量的声明和定义:
https://www.cnblogs.com/xuelin1221/p/10335990.html
3.数据类型(详见:https://www.runoob.com/java/java-basic-datatypes.html)
一、基本概念
变量就是申请内存来储存值得,即当有变量创建时,会到内存中申请储存空间,内存管理系统会根据该变量类型分配储存空间,分配的储存空间只能用来储存该类型的数据
Java中的基本类型和引用类型变量的区别
https://blog.csdn.net/bingguang1993/article/details/80450881
String为引用类型,详解;https://blog.csdn.net/yigan123/article/details/106580328
3.说一下this和super的区别(如果static修饰过还能用super或this吗?)
一、this
this表示当前对象
用法:
1.表示当前对象
2.用this访问属性(当形参和属性名一样的时,使用this来表示成员变量)
如果不使用this的话,由于
3.调用其他构造方法
二、super(详见:https://www.runoob.com/w3cnote/the-different-this-super.html)
1.默认情况下子类在调用构造方法时一定会调用 父类的无参构造方法,,并且会先调用父类无参构造
2.当父类声明了“有参构造”方法而没有声明“无参构造”方法时,这时子类找不到无参构造方法就会抛出异常,这时候可以通过super(参数)来达到调用父类的有参构造方法的目的
3.调用父类属性
4.调用父类方法
(需要补充的形参和实参的用法及区别)
2.说一下this和super的区别(如果static修饰过还能用super或this吗?)
详见:https://blog.csdn.net/qq_33188563/article/details/98732070
在方法中定义使用的this关键字,它的值是当前对象的引用.也就是说你只能用它来调用属于当前对象的方法或者使用this处理方法中成员变量和局部变量重名的情况.
而且,更为重要的是this和super都无法出现在static 修饰的方法中,static 修饰的方法是属于类的,该方法的调用者可能是一个类,而不是对象.如果使用的是类来调用而不是对象,则 this就无法指向合适的对象.所以static 修饰的方法中不能使用this.
3.为什么在一个静态方法中调用一个静非态方法会报错
因为静态方法当类被创建的时候就会可以使用,而非静态方法只有实例化对象后才能被调用
4.抽象类和接口有什么不同
5.java中有哪些集合类及各自的特点
6.用过迭代器没有
7.有了解过hashmap吗
8.hashmap他是线程安全的吗(内部实现原理)
9.用过多线程没有(举例说明)(有哪几种实现方式并说明其区别)
10.了解过BIO,NIO,AIO吗?