继承时候的父子关系

 
今天真郁闷,写个程序真TNND麻烦,GUI做出来了,又要测试数据,数据是什么?可以数组输出,可以文件输出。挑个简单的吧,简单的也不顺,明摆着的事情,都能正确在图像上显示出来,可是用system.out.println()出来就是TYYD全0!我真要崩溃了啊,到底哪里出错了啊,难道这里我还要把int分成一个个字节来换算吗?不都已经换了一次了吗?本来程序没有多长时间就出来,这样一搞,换来换去,最后搞到比matlab慢了为止,到那个时候我也就死心了,不用再继续弄了,可以放松说一句:“oh,my God,终于挂了!”
公元2007年6月11日,这一天真不爽!
群里帮我解决了一个问题,关于继承时候父类引用指向子类实例的问题,其实这种题目单独拿出来要我做,肯定没有问题,可是程序中出现了这种错误,竟然看了半天也看不出来,看来理论还是不能联系实践啊,这方面还要加强,纸上谈兵可以,沙场运筹帷幄要差好多!
 
总结了一下这个问题:
父类和子类 虽然是继承关系 但还是两家人 各顾个的方法和变量的管理 当你用父类引用时 java虚拟机只会把它当作父类看待 虽然他实际上是子类实例.因此只会到父类管辖的范围去查找方法和变量 此时与子类无关了.一种特殊情况是java的重写机制 这个时候 父类和子类就有关系了 因为子类覆盖了父类的方法.或者说隐藏了它.但是要记住的是---不管事例的生成者是谁.都只会到引用变量所在的类中查找该方法.
比如说
a 父类
b 子类 其中b 中有print()方法
如下 a xxx=new b();
a.print();        //这是错误的
 
子类所占内存大,父类小
如果你用一个父类的变量引用子类的话
这样你就只能用父类的方法了
如 a xxx = new b();
 
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值