类的继承

今天想要分享的知识点是:

类的继承:

子类能够继承长辈(不一定直接父类)的非私有东西(属性和方法),
子类不是拥有长辈的东西,只是子类对长辈类中的东西有访问性,只有类中的东西是自己的.
这一点颠覆了我原来的认知相信一定有很多朋友和我一样.

子类在new的过程中:

  1. 先去loadclass中,子类和父类会进入方法区(可以设置断点跟踪来验证)
  2. New 子类()构造,会自动去父类构造中,执行完父类的构造,父类对象会出现在堆区,而父类的对象出现,只不过没有名字.在堆区中,父类中的属性值初始化分配空间.
  3. 执行完父类构造体,在自动执行子类的构造体,执行完毕,为子类在堆中申请空间,并且初始化子类中的属性值.

上述过程也验证了两个观点:

  1. 为什么要少用继承?因为在调用子类的过程,他的长辈类也同时分配空间,而如果逻辑层次多的话,长辈类中的方法子类并不一定都要使用,这样就会浪费空间.
  2. 第二个观点就是子类并不是拥有了父类的东西,而只是对他们有访问性,因为长辈类也拥有自己的内存空间,只不过没有名字而已.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值