1.对对象进行比较怎么做?为什么不用“= =”?
静态变量在对象加载之前初始化,而成员变量是在编译期间初始化。
静态变量可以直接通过类名点的方式进行访问,而成员变量则不行。
由GC自己的内部算法决定。(但是召唤过后,GC什么时候处理还是不明确4.String str = new String(“hello”);这句代码创建了几个String对象?
http://blog.csdn.net/limingchuan123456789/article/details/14150327
2.接口与抽象类的区别?
1、抽象类和接口都不能直接实例化,如果要实例化,抽象类变量必须指向实现所有抽象方法的子类对象,接口变量必须指向实现所有接口方法的类对象。
2、抽象类要被子类继承,接口要被类实现。
3、接口只能做方法申明,抽象类中可以做方法申明,也可以做方法实现
4、接口里定义的变量只能是公共的静态的常量,抽象类中的变量是普通变量。
5、抽象类里的抽象方法必须全部被子类所实现,如果子类不能全部实现父类抽象方法,那么该子类只能是抽象类。同样,一个实现接口的时候,如不能全部实现接口方法,那么该类也只能为抽象类。
6、抽象方法只能申明,不能实现,接口是设计的结果 ,抽象类是重构的结果
7、抽象类里可以没有抽象方法
8、如果一个类里有抽象方法,那么这个类只能是抽象类
9、抽象方法要被实现,所以不能是静态的,也不能是私有的。
10、接口可继承接口,并可多继承接口,但类只能单根继承。
3.什么是GC?什么样的对象可以被GC回收?程序员如何召唤GC?一旦召唤是否马上回收?
没有引用指向的对象会被GC回收,程序员可以通过System.gc()(run.gc()或者GC所支持的其它调用方法召唤GC。)
4.String str = new String(“hello”);这句代码创建了几个String对象?
http://blog.csdn.net/limingchuan123456789/article/details/14150327
5.final、finally、finalize的区别?
final用于声明属性,方法和类,分别表示属性不可交变,方法不可覆盖,类不可继承。
finally是异常处理语句结构的一部分,表示总是执行。
finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,供垃圾收集时的其他资源回收,例 如关闭文件等。
6。递归、
方法本身调用自己,直到某一个条件结束。
在递归中,简单的递归和循环相似,难点递归需要数学运算(不考虑)
如果递归没有给出结束条件,则会发现java.lang.StackOverflowError栈溢出错误,除了递归以外,在Java编程中出现方法 调用的问题,也有可能出现 所以方法调用时不要做以下操作,让A调用B,再B让调用C,再让C调用A.