如图 DemoClass dc=new Dem();
dc.f(); 和dc.i 我想知道 为什么非静态方法是调用子类的 非静态属性是调用父类的原理 和内存调用原理?
如 猫继承肉食动物 猫和肉食动物都有吃东西的功能和毛的数量的属性 猫吃鱼 肉食动物吃肉 猫的毛数量为1000跟 动物的毛数量默认为900跟
当动物管理员叫食肉动物自己去吃东西 猫一个向上造型变成食肉动物跑去吃东西 猫吃的为鱼 当动物管理员叫食肉动物报下自己身上的毛的根数 猫已向上
造型跑去跟管理员说1000跟 这个难道是错的? 要说900跟
new的子类它们的内存堆空间相同 非静态成员属性和非静态成员方法都属于对象 用对象.非静态成员成员 为什么不是调用的一个类的 而是不同类? 难道因为方法
存在方法区 而且对象.非静态成员变量 只能访问父类的 即使父类没有该变量 子类有 也编译报错
|
|