读《Java编程思想》-- 从c++转向java的java细节(6~9)

  1. 每个编译单元只能有一个与文件名相同的public类
  2. 使用继承需要慎重,简单的判断是问一问自己是否需要从新类向基类进行向上转型
  3. final数据,final参数,final类
  4. 如果基类拥有某个被多次重载的方法时,导出类如果重新定义该方法并不会屏蔽其在基类中的任何版本
  5. 多态通过分离“怎么做”和“做什么”,从另一个角度将接口和实现分离开来
  6. 多态的缺陷: 私有方法自动认为是final,不会多态; 域和静态方法在编译期间进行解析,不会多态。构造器隐含是static的
  7. 初始化过程:(所以如果在构造函数中发生多态,可能引发错误,C++中构造函数中多态是无效的)
    • 在任何事物发生以前,将分配给对象的存储空间初始化为0
    • 调用基类构造函数
    • 按照声明顺序初始化成员变量
    • 调用导出类构造函数主体
  8. 协变返回类型:导出类中的被覆盖方法可以返回基类方法的返回类型的某种导出类
  9. 组合更灵活,因为可以动态的选择类型。准则:用继承表达行为间的差异,并用字段表达状态上的变化
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值