如果你声明一个抽象的方法,就必须将类也标记为抽象的,你不能在非抽象类中拥有抽象方法。 编译器是根据引用类型来判断有哪些method可以调用,而不是根据对象的实际类型 object o = new String("str");