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

最新文章

  1. BZOJ 1026: [SCOI2009]windy数
  2. Java中的原始类型(Primitive Types)与引用类型(Reference Values)
  3. mvc ajax dropdownlist onchang事件响应
  4. Python3基础 index 返回一个元素在列表中第一次出现的索引值
  5. java中的标记接口
  6. .net对象序列化解析
  7. HADOOP 2架构图
  8. HDU 5033 (单调栈维护凸包) Building
  9. PAT_1016 部分A+B
  10. Js apply 方法 具体解释
  11. gcc -lpthread 干什么用
  12. Linux报too many open files的解决方案
  13. C++ 中关于optional 使用过程中遇到的问题
  14. 20162323周楠《Java程序设计与数据结构》第五周总结
  15. 多线程总结之旅(1):线程VS进程
  16. Java中的String,StringBuilder,StringBuffer
  17. Map集合转成json数据
  18. 劳德巴赫下载kernel和文件系统时问题
  19. AJAX 应用
  20. C# 截取 byte 字节 转字符串

热门文章

  1. PHP正则表达式试题
  2. /etc/rc.local 与 /etc/init.d Linux 开机自动运行程序
  3. 安装你自己的perl modules
  4. Python 协程/异步IO/Select\Poll\Epoll异步IO与事件驱动
  5. 通知传值 notification
  6. 转 shell中字分隔的妙用:变量IFS
  7. Vs2010 WPF 项目打包
  8. 灵感闪现 篇 (一) 2d场景 3d 效果
  9. PARTITION BY 和 group by
  10. 关于:hover的一点小问题