随笔 - 299  文章 - 0  评论 - 0  阅读 - 6322 

子类可以沿用父类(被继承类)的某些特征。子类也可以具有自己独立的属性和操作。但java中子类只能有一个父类

用关键字 extends + 父类名,如果字类和父类在同一个包内,那么子类继承父类的 除 private的所有属性和操作,如果不在同一个包内,那么子类继承父类的protected和public的成员变量和方法,继承之后的访问权限保持不变
构造方法的继承:

子类可以无条件的继承父类不含参数的构造方法
如果子类没有构造方法,则它继承父类无参数的构造方法作为自己的构造方法;如果子类有构造方法,那么在创建子类对象时,则将先执行继承下来的父类的构造方法,然后再执行自己的构造方法
对于父类中包含有参数的构造方法,子类可以通过在自己的构造方法中使用super关键字来引用,而且必须是子类构造方法中的第一条语句。
如果父类中没有无参的构造函数,则子类不能调用父类的隐含的构造函数,系统不会自动生成,会报错,这时只能用super调用父类的带参数的构造函数。
当用子类的构造方法创建一个对象时,子类的构造方法总是先调用父类的,因此在创建对象时不仅子类声明的成员变量分配了内存,而且父类的所有成员变量也分配了内存,但只将其中一部分(子类继承的)作为分配给子类的变量
成员变量的隐藏

子类可以隐藏继承的成员变量,只要子类中声明的成员变量和父类中的重名,子类就隐藏了继承的成员变量,但是子类可以通过第哦调用从父类继承的方法来操作隐藏的成员变量。
成员方法的重写

子类可以通过重写来隐藏已经继承的父类的方法,但是要求子类的类型与父类的方法类型一致,并且这个方法的名字、参数个数、参数类型和父类的必须完全相同。
*重写时要注意不能降低父类原来的访问权限。

posted on   杨申龙  阅读(50)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
点击右上角即可分享
微信分享提示