Java关键字详解

一、 关键字预览:
Java关键字是其含义由编程语言定义的词,根据关键字不同功能分出以下几类:
在这里插入图片描述
二、详解关键字

先解释三个访问权限的词,常见的不说了,说一下不常见的

1.访问权限
1) private 私有的
private 关键字是访问控制修饰符,可以应用于类、方法或字段(在类
中声明的变量)。 只能在声明 private(内部)类、方法或字段的类中
引用这些类、方法或字段。在类的外部或者对于子类而言,它们是不
可见的。 所有类成员的默认访问范围都是 package 访问,也就是说
,除非存在特定的访问控制修饰符,否则,可以从同一个包中的任何
类访问类成员。
2) protected 受保护的
protected 关键字是可以应用于类、方法或字段(在类中声明的变量)
的访问控制修饰符。可以在声明 protected 类、方法或字段的类、同一
个包中的其他任何类以及任何子类(无论子类是在哪个包中声明的)中
引用这些类、方法或字段。所有类成员的默认访问范围都是 package
访问,也就是说,除非存在特定的访问控制修饰符,否 则,可以从同
一个包中的任何类访问类成员。
3) public 公共的
public 关键字是可以应用于类、方法或字段(在类中声明的变量)的访
问控制修饰符。 可能只会在其他任何类或包中引用 public 类、方法或
字段。所有类成员的默认访问范围都是 package 访问,也就是说,除
非存在特定的访问控制修饰符,否则,可以从同一个包中的任何类访
问类成员。
2. 类、方法和成员变量修饰词

(1) native 本地
native所修饰的方法中所实现的功能不是用Java代码实现的,而是用其他
语言的代码实现(例如C语言等),这些代码是处于另一个文件,所以该
功能实现也在其他语言代码文件中
(2) transient 短暂
这个关键字一般在序列化中用到,也就是将不需要序列化的属性前添加关键字transient,序列化对象的时候,这个属性就不会被序列化。
(3) strictfp 精确浮点
关键字可应用于类、接口或方法,使用 strictfp 关键字声明一个方法时,该方法中所有的float和double表达式都严格遵守FP-strict的限制,符合IEEE-754规范。当对一个类或接口使用 strictfp 关键字时,该类中的所有代码,包括嵌套类型中的初始设定值和代码,都将严格地进行计算。严格约束意味着所有表达式的结果都必须是 IEEE 754 算法对操作数预期的结果,以单精度和双精度格式表示。
(4) synchronized线程、同步
synchronized 关键字可以应用于方法或语句块,并为一次只应由一个线程执行的关键代码段提供保护。
synchronized 关键字可防止代码的关键代码段一次被多个线程执行。
如果应用于静态方法,那么,当该方法一次由一个线程执行时,整个类将被锁定。
如果应用于实例方法,那么,当该方法一次由一个线程访问时,该实例将被锁定。
如果应用于对象或数组,当关联的代码块一次由一个线程执行时,对象或数组将被锁定。
(5) volatile 易失
volatile 关键字用于表示可以被多个线程异步修改的成员变量。
注意:volatile 关键字在许多 Java 虚拟机中都没有实现。 volatile 的目标用途是为了确保所有线程所看到的指定变量的值都是相同的。
Java 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized”;与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也较少,但是它所能实现的功能也仅是 synchronized 的一部分。
3. 程序控制
(1) instanceof 实例
类似于Java的一个二元操作符(eg. ==),测试该对象是否是一个类的实例
4. 保留字
(1) const 不变
用以修饰变量,被它修饰过的变量会变成常量,并且不可再被修改

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值