java关于继承的一些理解

                                      java 继承理解

继承
生活中继承:子承父业,父亲有的,儿子可以直接使用
代码中继承:父类有的,子类可以直接使用
语法:
1.概念:
父类又叫基类,超类
子类又叫派生类
作用:可以代码重用,为多态做准备
2.特点:“单”继承
一个子类有且必须有一个直接父类,但一个父类可以同时有多个子类
一个子类可以有多个父类
Object所有类的基类

3.理解
子类可以扩展自身功能,也可以直接使用父类的功能,但子类不能修改父类功能
构造方法不叫继承,但子类可以调用父类构造方法,同时类本身可以通过this()互相调用自身构造方法
调用父类构造方法用super(),调用自身构造方法用this()
this()和super()都必须在构造方法首行,如果没有手动调用,则默认是super()
当父类没有无参构造方法,则子类必须手动调用父类有参构造方法
this()和super()不能同时存在
this()不能互相调用

关键字super
this.field
this.method
this可以调用自身以及父类的
super.field
super.method
super可以调用父类的
父类对象不能直接子类的功能,但子类对象可以直接调用父类的功能

Override方法重写,方法覆盖
1.访问控制符可以变大或者相等,但不能变小(父类不能是private)
2.static修饰的方法不叫Override
3.返回值类型,方法名,参数相同
4.子类不能比父类抛出更多的异常

多态
条件:有extends和override
语法:父类引用 = 子类对象
引用负责调用,满足就近原则,从当前类中一致到Object为止
对象负责执行
注意:父类引用不能调用子类特有方法

继承注意点:
成员变量和方法
子类只能继承父类的所有非私有的成员变量和方法。可以继承public protected 修饰的成员,不可以继承private修饰的。
但是可以通过父类中提供的public 的setter和getter方法进行间接的访问和操作private 的属性
对于子类可以继承父类中的成员变量和成员方法,如果子类中出现了和父类同名的成员变量和成员方法时,父类的成员变量会被隐藏,父类的成员方法会被覆盖。需要使用父类的成员变量和方法时,就需要使用super关键字来进行引用。
隐藏是针对成员变量和静态方法,覆盖是针对普通方法。
当创建一个子类对象时,不仅会为该类的实例变量分配内存,也会为它从父类继承得到的所有实例变量分配内存,即使子类定义了与父类中同名的实例变量。 即依然会为父类中定义的、被隐藏的变量分配内存。
如果子类中的实例变量被私有了 ,其父类中的同名实例变量没有被私有,那么子类对象就无法直接调用该变量,但可以通过先将对象变量强制向上转型为父类型,在通过该对象引用变量来访问那个实例变量,就会得到的是父类中的那个实例变量。

js/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值