Java常见面试笔试问答题:
1. final、finally、fianlize有何区别
答:
1)final
final是一个关键字 当他修饰一个类时 该类无法被继承;当他修饰一个方法时;该方法无法被覆盖;当他修饰一个变量时 该变量只能赋值一次 static final 修饰的变量,一般也叫做常量,常量一般用大写字母表示如 static final int A=5;
2)finally
finally也是一个关键字 finally一般与try联合使用 有finally时,不管try有没有执行,finally中的一定会执行,且finally的作用是为了释放资源,防止浪费
3)finalize
finalize是一个标识符 是一个方法名;他是所有类 的老祖先Object类的一个方法;但是已经过时;它有GC自动调用!
2.Object类有几种常见的方法呢?
答1.toString()方法:
该方法是将对象转换为字符串的形式;在定义类的时候一般都要覆盖Object类中的toString方法,因为Object类中的toString方法是输出“对象的类名@对象所在内存地址哈希码的十六进制形式”;所以子类要覆盖,覆盖的要求是:尽量言简意赅
2.equals(Object obj)方法
该方法是比较两个对象是否相等的方法,但是子类也要覆盖,因为在Object中的equals方法是比较两个对象的内存地址是否相等;一般需要在子类