1.用引用来操作对象(前提是该引用已经和对象关联了起来)
在java中,一切皆对象,我们操作对象,是通过引用来操作对象的。引用,打个比方说相当于一个遥控器,我们是通过遥控器来操作电视机这个对象,如果我们想在房间任意走动的同时还能操作电视机,那我们只需携带遥控器(引用)就可以了(即如果某个类想操作另一个类,只需创建那个类的引用即可)。遥控器(引用)和电视机(对象)是相关联的,我们操作引用(遥控器)就在间接操作对象(电视机)。但是,引用(遥控器)又可以单独存在。例如我们创建一个引用String s,如果现在直接调用引用,是会报错的,因为此时,该引用没有和任何对象关联起来。
2.通过new关键字,将引用和对象关联起来,new表示给我一个新的什么对象
一旦创建了一个引用,就必须和对象关联起来,关联是通过new关键字来实现,没有关联对象的引用调用时时会报错的。
3.存放位置
对象的引用,基本数据类型一般存放在栈中,对象,基本数据类型的包装类一般存放在堆中,常量一般直接存放在程序的内部
4.高精度数字
BigInteger:支持任意精度的整数
BigDecimal:支持任意精度的定点数
BigInteger,BigDecimal属于包装类,它们没有对应的基本数据类型
5.当创建一个数组时,实际上已经创建了一个数组的引用
6.基本类型不用new来创建变量,而是创建一个并非是引用的"自动"变量,存放在栈中
7.如果字段是对某个对象的引用,那么它必须先初始化,即它必须先和某个对象进行关联,然后才能调用它
8.成员变量没有赋初值,Java会根据它的类型给它一个默认的初值,局部变量没有初值(如方法内部声明的变量),Java会报错,所以局部变量必须赋初值,所以属性在声明时,最好都给它赋一个初值
9.Java中的方法只能作为类的一部分来创建,即方法只能在类中创建,且方法只能通过对象来调用(static方法是针对类调用的,它并不依赖于对象的存在),调用的方法必须是该对象拥有的方法。方法的参数列表里面传递的对象,实际上传递的是对象的引用,一旦引用传递给方法,就可以把引用当作其它对象一样进行处理,即可以给引用发送消息,即调用该引用
10.static修饰的字段在一个class类中只有一份存储空间,非static修饰的字段对每个对象都有一个存储空间。由static修饰的字段和方法与该类的任何对象都不关联,即使不创建对象也可以通过类名来访问