java不常用关键字

assert

断言条件是否满足。

这是java1.4开始引入的关键字。一般来说,assertion用于保证程序最基本、关键的正确性。assertion检查通常在开发和测试时开启。为了提高性能,在软件发布后,assertion检查通常是关闭的。

它的两种语法:

assert  expression1;
assert  expression1:expression2;

在两种表达式中,expression1表示一个boolean表达式, expression2表示一个基本类型或者是一个对象(Object),基本类型包括boolean,char,double,float,int和 long。由于所有类都为Object的子类,因此这个参数可以用于所有对象。 在运行时,如果关闭了assertion功能,这些语句将不起任何作用。如果打开了assertion功能,那么expression1的值将被计算,如果它的值为false,该语句强抛出一个AssertionError对象。如果assertion语句包括expression2参数,程序将计算出expression2的结果,然后将这个结果作为AssertionError的构造函数的参数,来创建AssertionError对象,并抛出该对象;如果expression1值为true,expression2将不被计算。

注:AssertionError:在文档中的解释就是抛出该异常指示某个断言失败。

const 

未使用,保留字。

goto

未使用,保留字。

instanceof 

测试一个对象是否是某个类的实例。

A a = new A();
if(a instanceof A){
	System.out.println("yes");
}
else{
	System.out.println("no");
}
一个例子就讲清楚了吧。

native 

表示方法用非java代码实现。

native标记的方法是另一种语言实现的本地方法。
注:abstract方法和interface方法不能使用native修饰

strictfp 

浮点数比较使用严格的规则。

注:class或interface用strictfp声明,则内部所有float和都变了都会是strictfp。而接口的方法不能被它修饰。

transient 

修饰不要序列化的字段。标记为transient的变量,在对象存储时,这些变量状态不会被持久化。当对象序列化的保存在存储器上时,不希望有些字段数据被保存,为了保证安全性,可以把这些字段声明为transient。


volatile 

标记字段可能会被多个线程同时访问,而不做同步。

一个变量被声明成volatile,就是说这个变量是随时会被其他线程修改,不会将它放在每个线程自己的存储块中。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值