继承--关于子类对象中包含父类内容的随笔

本文探讨了Java中不同类型的变量如何在内存中分布,特别是关于堆内存与方法区的区别。详细解释了为何对象只能访问实例成员变量而非静态成员,并讨论了静态方法的特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天老师讲到这里是走了下神,之后一直理解不到位,很难受。。。
代码及堆内的内存图如下:

class A{}
class B extends A{}
class C extends B{}

这里写图片描述
纠结的问题是为什么可以访问实例成员变量,而不能访问静态的呢,

后来经过老师提醒,知道堆内C的对象包含的只是普通成员变量,父类的方法和静态成员等都在方法区中,不写在堆中。。。调用时通过父类指向方法区调用

ps:静态方法可继承不可重写!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值