在java中,子结构的功能一定强于父结构;
子结构的对象一定强于父结构的对象,父结构对象能够完成的,子对象都可完成;
父对象包含在子对象之中;
在一些面向对象的编程语言中,在继承方面分为两种情况:
1、 多继承
2、 单继承(java中只支持这种情况)
在访问级别的继承上,它只支持公有继承;
与继承有关的一个重要关键这:extends
在java的继承中,除了extends外,还有一个关键字super,表示当前类的直接父类;
与this(表示当前类对象)类似;
学生是小学生;不正确!
小学生是学生;完全正确!
(小学生是小学生,学生是学生);
Students1 =newStudent();
上图是“学生是学生”的典型表现;
红色学生表示赋值号右边,即一个Student类型的对象;
蓝色学生表示赋值号左边的引用,即这个学生对象所在的类型是Student类型;
右边的学生对象是左边Student类型的一个实例;
子类对象与父类对象的关系属于“is-a”关系,“是一个”,
一个子类对象是一个父类对象;
既然子类对象是父类对象,子类是父类,所以可以使用父类的引用来操纵子类对象;
在任何情况下,都可以将子类对象(的地址)赋给父类的引用;
重写父类方法中的注意事项:
1.子类方法的返回值类型应该比父类方法返回值类型更小或相等
2.子类方法声明抛出的异常类应比父类方法中声明抛出的异常类更小或相等‘
3.子类方法是访问权限应比父类方法的访问权限更大或相等
4.覆盖方法和被覆盖方法要么都是类方法,要么都是实例方法
5.当子类覆盖了父类方法后,子类的对象将无法访问父类中被覆盖的方法,
但可以在子类方法中调用父类中 被覆盖的方法,通过super关键字或父类类名调用