变量命名的规则
只能由字母、数字、_、$组成,第一个字符不能是数字
变量名是区分大小写的。
跳出多重循环
在循环体里使用带有标识的break语句
out:循环体{ break out;}
finalize
object的一个方法,在垃圾回收器执行时会调用被回收对象的finalize()方法
final
用于声明属性、方法和类,分别表示属性不可变、方法不可覆盖和类不可继承。
1.final属性:属性不可变-在这里指的是引用变量不可变,变量必须初始化
以下代码会出现编译错误:
Finale StringBuffer s =new StringBuffers(“hello”);
s=new StringBuffers(“hello world”);
2.final方法:不允许任何子类重写这个方法
3.final参数:这个参数在函数内部不允许被修改
4.final类:此类不能被继承,所有方法不能被重写。
注意:一个类不能既被声明为abstract,又被声明为final.
static
作用:为某特定的数据类型或对象分配单一的存储空间,而与对象的个数无关;
在不创建对象的情况下就可以通过类来直接调用方法或使用类的属性
- static成员变量
静态变量只有一个,被类拥有,所有对象都共享这个静态变量
注意:不能在方法中定义static变量
- static成员方法
不能使用this和super关键字,不能调用非static方法,只能访问类的静态成员变量和方法。
- static静态代码块
JVM在加载类时会执行static代码块,经常被用来初始化静态变量,只执行一次
- static内部类
只能调用外部类的静态成员和静态方法
static final
对于变量,则表示一旦赋值就不可修改
对于方法,表示该方法不可覆盖,并且可以通过类名直接访问
volatile
Java程序默认会将经常被访问的变量缓存起来,但是在多线程中,缓存的值更新不及时,可能从缓存中得到的值不是最新的
被volatile类型定义的变量,系统每次用到它时都是直接从对应的内存当中提取,而不会利用缓存。
instanceof
判断一个对象是否是一个类的实例
s instanceof String