java修饰符用来定义类、方法或者变量,通常放在语句的最前端。(推荐:java视频教程)
Java语言提供了很多修饰符,主要分为以下两类:
访问修饰符
非访问修饰符
Java语言定义了public、protected、private、abstract、static和final这6常用修饰词外还定义了5个不太常用的修饰词,下面是对这些Java修饰词的介绍:
1、public使用对象:类、接口、成员介绍:无论它所处在的包定义在哪,该类(接口、成员)都是可访问的。
2、private使用对象:成员介绍:成员只可以在定义它的类中被访问。
3、static使用对象:类、方法、字段、初始化函数介绍:成名为static的内部类是一个顶级类,它和包含类的成员是不相关的。静态方法是类方法,是被指向到所属的类而不是类的实例。
静态字段是类字段,无论该字段所在的类创建了多少实例,该字段只存在一个实例被指向到所属的类而不是类的实例。初始化函数是在装载类时执行的,而不是在创建实例时执行的。
4、final使用对象:类、方法、字段、变量介绍:被定义成final的类不允许出现子类,不能被覆盖(不应用于动态查询),字段值不允许被修改。
5、abstract使用对象:类、接口、方法介绍:类中包括没有实现的方法,不能被实例化。如果是一个abstract方法,则方法体为空,该方法的实现在子类中被定义,并且包含一个abstract方法的类必须是一个abstract类。
6、protected使用对象:成员介绍:成员只能在定义它的包中被访问,如果在其他包中被访问,则实现这个方法的类必须是该成员所属类的子类。
7、native使用对象:成员介绍:与操作平台相关,定义时并不定义其方法,方法的实现被一个外部的库实现。
8、strictfp使用对象:类、方法介绍:strictfp修饰的类中所有的方法都隐藏了strictfp修饰词,方法执行的所有浮点计算遵守IEEE754标准,所有取值包括中间的结果都必须表示为float或double类型,而不能利用由本地平台浮点格式或硬件提供的额外精度或表示范围。
9、synchronized使用对象:方法介绍:对于一个静态的方法,在执行之前jvm把它所在的类锁定;对于一个非静态类的方法,执行前把某个特定对象实例锁定。
10、volatile使用对象:字段介绍:因为异步线程可以访问字段,所以有些优化操作是一定不能作用在字段上的。
volatile有时可以代替synchronized。
11、transient使用对象:字段介绍:字段不是对象持久状态的一部分,不应该把字段和对象一起串起。