1.定义String s=”abc”;

s:引用(遥控器)

“abc”:对象(电视机)

s可以到处走,但是仍然可以操作对象;

s可以单独存在,例如:String s;这样就不能向s发送消息,否则会包运行时错误,因为s引用没有对象,即没有电视只有遥控显然是不可行的。

2.数据存储在何处?

寄存器(处理器中)

堆栈(RAM中)——>基本数据类型

堆(RAM)———–>new出来的对象

常量存储(代码内部)

非RAM存储(流对象、持久对象等在数据库或则文件中)

3.作用域

在作用域内,引用有效;作用域外,引用超出作用域范围失效,但对象仍然存在于内存中,由垃圾回收机制自行处理。

4.数据初始化

基本类型作为类的对象时候,编译器会自动初始化值,char为”;int为0;boolean为false

但是如果在方法内,则可能任意值所以会报错,不可取。

5.方法名和方法参数列表唯一的标识出某个方法。(包括参数顺序),这里要注意,返回值不能作为区分的依据,因为有时候我们根本不去关心返回内容。

6.方法只能作为类的一部分来创建,且只能被有权限的对象所调用;方法在类内部直接调用,这时候其实只是缺省了this关键字。ps:可以使用语句块。

7.如果方法返回void,而在方法内return;,表示退出方法,类似break。

8.static定义的方法不和包含它的类的任何对象关联在一起。如new两个该类的对象,取static方法或字段返回都是相同,因为他们指向同一个存储空间。

关于内部静态类参考http://blog.tomner.com/?p=681