第二章写的是一切皆是对象,这个观点貌似我上一篇说过了。那就看看什么叫一切皆是对象吧。
你自己写的类是一个对象,通过一个引用可以操纵这个对象。对于java所提供的变量来说,有的是类对象,有的是基本类型,而基本类型是分配在栈中的,不是分配在堆中的,但是它们可以包装成类对象,称为打包,每个基本类型都有自己对应的类对象。
数组是一种引用,数组分为类数组和基本类型数组。类数组里面的引用都是指向一个分配在堆上的对象,而基本类型数组是指向一个分配在栈上的一个对象。就像在一个类中可以定义基本数据类型的字段一样,类所定义的对象分配在堆上,但是其所定义的字段一段初始化后是分配在栈上。
对象的作用域要大于其所在的代码域,你甚至不知道它是什么时候消失的,有java虚拟机自动来回收,而引用的作用域等于其所在的代码域。
函数的传参:传参都是值传递,对于基本类型来说是值的复制,对于引用类型来说是引用的复制,函数里的和函数外的指向同一对象。
static关键字:类字段和类方法。
类字段是所有的对象共享的,类方法是一个牧羊人,来管理其隶属于同一类型的实例群。