用父类声明的变量和用接口声明的变量的区别

package collection;

public class Test {
public static void main(String[] args) {
/* //用父类类名声明的变量为子类的构造方法
Person p=new Student();
//猜测应该是调用子类的方法、
p.fun();
//调用父类的属性
System.out.println(p.name);*/

//用接口声明的变量,只能调用接口里的已有方法,而不能调用实现这个接口的实现类里有而接口没有的方法
IPerson p=new Person();
p.eat();
System.out.println("--------------------");
((Person)p).eat("fruit");
}
}

原文地址:https://www.cnblogs.com/1020182600HENG/p/6084242.html