第一个问题,接口类型的变量是可以引用其实现类的实例的,java多态也是基于此实现的,可以在程序运行时动态指定要运行的具体方法;
第二个问题,如果不重写Object类的toString()方法,该方法返回值并不包含类的成员变量的值,它返回的信息仅仅包含类名和类对象的hashcode值,源代码如下
希望对您有所帮助,有用的话采纳一下吧
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}