这个是多态的知识
多态的前提是第一是必须有继承(类与类产生关系),然后必须有复写(重写)
父类或者是父接口指向子类对象
因为学生属于人吧
直接可以用person p = new Student()
person是父类 可以直接指向子类对象
这样的例子还有很多,比如动物 和猫,狗都是多态
多态的好处就是提高了代码的复用性
多态中成员函数 变量 静态方法的特点
静态变量 和静态方法都是运行和编译都看左边
而成员方法是编译看左边 运行看右边(因为有重写)
如果想判断这个字了i是不是属于父类可以使用instanceOf这个关键字
注意:多态中将子类的权限=提升到了父类型
但是父类只能访问父类自己的 不能访问子类特有的数据,如果想访问必须进行向下转型如:
Student s = (Student)p;
用s去调用子类的特有属性
|