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高德版本中并不影响多态的实现。

  • 相关阅读:
    TCP概述
    拥塞窗口
    流量控制与滑动窗口
    Hadoop完全分布式安装配置完整过程
    Nagle算法
    mac安装软件后打不开,显示损坏,扔到废纸篓
    mac设置有线访问内网,无线访问外网
    linux 开机自启脚本配置
    linux中$#,$0,$1,$2,$@,$*,$$,$?的含义
    Window-server-2012显示电脑图标
  • 原文地址:https://www.cnblogs.com/sylz/p/5898078.html
Copyright © 2011-2022 走看看