第二章 一切都是对象


1. 用 引用操作对象

  • 尽管一切都被看作对象,但操纵的标识符实际上是对象的一个引用(reference)
  • 寄存器,是最快的寄存区,位于处理器内部。
  • 堆栈,位于通用随机访问存储器中(RAM),通过堆栈指针可以从处理器那里获得直接支持。对象引用存储在堆栈中,但是java对象不存储在其中。
  • 堆。一种通用的内存池,也位于RAM中,用于存放所有的java对象,堆不同于堆栈的好处是:编译器不需要知道存储在堆里的数据在堆里存活多长时间。
  • 常亮存储。常量的值通常直接存放在程序代码内部,这样做是安全的,因为他们永远不会改变,
  • 非RAM存储,例如 流对象和持久化对象
  • BigInteger 支持任意精度的整数,可以表示任何大小的整数值并不会丢失任何信息。
  • BigDecimal 支持任意精度的定点数,可以进行货币运算。
  • java 中新建的数组都会置为 null
  • 方法就是函数,方法基本组成包括:名称、参数、返回值和方法体。
  • 方法名和参数列表(他们合起来被称为“方法签名”)唯一的标识出摸个方法
  • 通常来说,当创建类时,就是在描述那个类的对象的外观和行为。除非使用new常见那个类的对象,否则,实际上并未获得任何对象。执行new来创建对象的时候,数据存储空间才被分配,其方法才供外界调用。
  • 但是,当一个事物时static的时候,就意味着这个域或者方法不会与包含它的那个类的任何对象实例关联在一起。
  • 用static关键字定义的变量,可以通过直接引用类名来引用
class StaticTest{
  static int i =37 ;
}
StaticTest st1 = new StaticTest();
StaticTest st2 = new StaticTest();
//这里,st1.i和st2.i指向同一个存储空间,可以这样来引用这个变量
// 1
st1.i;
// 2
StaticTest.i++;
  • 静态类也一样
class StaticTest{
  static int i =37 ;
}
class Incrementable{
  static void increment(){
    StaticTest.i++ ;
  }
}
//第一种调用方法
Incrementable sf = new Incrementable();
sf.increment();
//第二种调用方法
Incrementable.increment();

2. 关于注释和嵌入式文档

  • / xxxx / 传统c语言的注释风格 ,位于 / / 之间的都会被注释掉
  • // 单行注释
  • / xxx * / javadoc注释,可以在其中嵌入 HTML 代码,只对 public 和protected 成员进行注释,private进行注释会被忽略掉。
  • 类名的首字母要大写,如果类名由几个单词构成,那么把它们拼在一起,不要用下划线来分隔名字,其中每个内部单词的首字母都采用大写形式,这种格式被称为驼峰风格,(标识符的第一个字母采用小写,其他和类名格式一样)

由本人从 Thinking in java ( java 编程思想 ) 整理而来

最后修改:2018 年 07 月 15 日
哇卡哇卡