java中为什么String类型无法调用finalize()方法

java中为什么String,Integer类型无法调用finalize()方法,而自己定义的类没有重写finalize方法却可以调用这个方法,自己定义的类和String的父类都是Object

Object的finalize()是protected方法,String和Integer类并没有重写这个方法,所以仅限于类内部调用,外部是不能调用的;
另外我觉得你需要了解一下JVM原理与java的GC机制;