一、(1)尽管一切都看做是对象,但操做的标识符其实是对象的一个“引用”。能够将这一情形想像成遥控器(引用)来操纵电视机(对象)。java
(2)拥有一个引用,单不必定须要有一个对象与它关联,如:String s;若是此时向s发送一个消息,就会返回一个运行时错误。因此一种安全的作法是,建立一个引用的同时顺便进行初始化,如string s ="abc";数组
1(1)一旦建立了一个引用,就但愿它能与一个新的对象相关联,一般用new操做符来实现这一目的。安全
2.2.1存储到什么地方命令行
一、寄存器code
二、堆栈对象
三、堆生命周期
四、常量存储内存
五、非RAM存储作用域
2.2.2特例:基本类型文档
一、基本类型具备的包装类,使得能够在堆中建立一个非基本对象,用来表示对应的基本类型,如 Character ch = new Character ('c');
java SE5的自动包装功能将自动地将基本类型转换为包装器类型:Character ch = 'X'
2.2.3Java中的数组
一、java确保数组会被初始化,并且不能在它的范围职位被访问,这种方位检查,是以每一个数组是少许的内存开销及运行时的下标检查为代价的。
二、当建立一个数组对象时,实际上就是建立了一个引用数组,而且每一个引用都会自动被初始化为一个特定值。
2.3.1做用域
做用域决定了在其内定义的变量名的可见性和生命周期。
2.3.2对象的做用域
一、java对象不具有和基本类型同样的生命周期,当用new建立一个java对象时,它能够存活于做用域以外。
二、java有一个垃圾回收器,用来监视用new建立的全部对象,并辨别哪些不会被再引用的对象。随后释放这些对象的内存空间,以便供其余新的对象使用。
2.4.1字段和方法
一、若是字段是对某个对象的引用,那么必须初始化该引用
二、每一个对象都有用来存储其字段的空间;普通字段不能在对象间共享
三、若类的某个成员是基本数据类型,即便没有进行初始化,java也会确保它得到一个默认值。然而局部变量(即非某个类的字段)不会自动被初始化。
一、方法签名:方法和参数列表惟一标识出某个方法
二、int x = a.f()这种调用方法的行为一般被称为发送消息给对象,f()是消息,a是对象
三、return关键字的用法:首先,它表明“已作完,离开此方法”。其次,若是此方法产生了一个值,这个值要放在return语句后面。若返回类型是void,return关键字的做用只用用来对出方法。
2.6.1名字可见性
2.6.2运用其余构建
可使用关键字import来准确告诉编译器想要的类是什么。
2.6.3static关键字
一、使用static关键字的场景
(1)只想为特定域分配单一存储空间,而不去考虑究竟要建立多少对象,甚至根本就不建立任何对象。
(2)但愿某个方法不去与包含它的那个类的任何对象关联在一块儿,即没有建立对象,也能调用这个方法.
二、当声明一个事物是static时,就意味着这个域或方法不会与包含它的那个类的任何对象关联在一块儿。因此,即便从未建立某个类的任何对象,也能够调用其static方法或访问其static域。
三、有两种方法访问今天事物,一种是直接用类名点,另外一种是经过一个对象去定位,以下:
class StaticTest{ static int i = 47; } StaticTest s1 = new StaticTest(); StaticTest.i s1.i
main方法的args要用来存储命令行参数