-
子类继承了父类除构造函数之外的所有东西,只是根据在父类中定义的访问属性决定了在子类中是否可以使用
-
只有父类和子类在同一个包中时,父类中访问属性缺省的成员才可以被子类访问,因此访问属性为procted要比访问属性缺省的宽一些
-
不可以重新在子类中定义父类成员的访问属性,如果在子类中定义了在父类中存在的成员变量,那么在子类方法中可以访问在子类中定义的成员变量,在父类方法中可以访问在父类中定义的成员变量,二者可以同名但互不影响
-
在程序运行过程中,子类对象的一部分存放的是父类对象。在初始化时会先初始化父类的空间,再初始化子类空间
-
如果有一个CD子类继承了父类Items,子类有两个对象CD1,CD2,即使这两个对象的值完全相同,equels比较出来的结果仍然是false
原因:如果子类没有重写,调用的就是父类的equels,而父类并不关心子类的具体内容,因此调用父类的equels只是比较的两个管理者是否管理的同一块内存
解决方法:重写子类的equels -
强制转换:int i = (int)10.4,改变了数据原来的形态;
向上造型:假如有CD类继承了父类Items,有CD类的对象CD1,Items的对象it1,则it1=CD1就是想上造型,只是将子类强制看作父类的对象,并没有做实际的修改
关于父类和子类的一些细节
最新推荐文章于 2023-04-14 16:21:15 发布