zoukankan      html  css  js  c++  java
  • 读书笔记——thinking in java

    1、一切都是对象,用引用操作对象

      1.1程序存储的地方

        引用存放在堆栈区(通用的RAM),所有对象存储在堆(一种通用的内存池)。堆和堆栈的区别:堆栈中的这些引用,java系统是要知道确切的生命周期,堆里面的对象数据java系统就不需要知道。堆里面的数据的分配和清理可能会更耗费时间。

      1.2高精度数字

        java中提供了BigInteger和BigDecimal。方法调用的方式来取代运算符的方式。所以速度会慢了许多。

    2、复用类

      2.1组合——has-a

      2.2继承——is-a

      2.3代理

      2.4名称屏蔽

        父类中有一个被重载多次的函数,在导出类中又被重载了,此时,导出类中支持所有的重载函数,这与C++不一样。C++自动屏蔽基类的方法。

    3、final关键字

      static final 代表编译期常量

      3.1final基本类型——值不变

      3.2final对象引用——引用不变,对象可修改

      3.3final方法——      不能被覆盖    

        两个作用:①把方法锁定,以防止任何继承类修改他的含义。想要确保在继承中方法行为保持不变且不会被覆盖②效率,因为可以讲final方法转内嵌调用,内嵌的话就应该适合代码量小的函数。

      类中的所有private方法都隐式的指定为final。由于无法继承private方法,所以也就无法覆盖它。

      3.4final类——         不能被继承(所以final类的方法全被隐式指定为final方法),出于某种考虑,对该类的设计永远不需要做任何改动。

    4、多态(动态绑定或者运行时期绑定)

      4.1多态的作用

      4.2java中除了static、final方法(private属于final方法)其余都是运行期绑定。

      4.3返回值不一样在java高德版本中并不影响多态的实现。

  • 相关阅读:
    谷歌地图地理解析和反解析geocode.geocoder详解(转)
    Html5 Geolocation获取地理位置信息(转)
    利用单片机快速实现家庭智能控制平台
    邪恶改装:TPYBoard制作廉价WIFI干扰器
    [TPYBoard
    [TPYBoard
    [TPYBoard
    python中的subprocess.Popen()使用
    KVM虚拟机的xml配置文件
    Linux LVM 总结
  • 原文地址:https://www.cnblogs.com/sylz/p/5898078.html
Copyright © 2011-2022 走看看