Java 常用关键字

1、final

  • 修饰字段(成员变量)时,该字段不支持默认初始化,必须在构造对象时初始化。(静态字段则需要显示初始化或在静态初始化块中初始化)
  • 修饰方法时,该方法不允许覆盖。
  • 修饰类时,该类不允许被继承,且类中的所有方法自动地成为 final 方法。

2、this

  • 指示隐式参数的引用(特别的:在内部类中使用OuterClass.this指示外围类的引用;在 lambda 表达式中,指示创建这个表达式的方法的 this 参数)
  • 调用该类的其他构造器:this(...)

3、super

  • 调用接口的默认方法:接口名.super.xxx()
  • 调用超类的方法或字段
  • 调用超类的构造器

与 this 不同,super 不是对象的引用,不能将 super 赋给另一个对象变量。

4、static

可以修饰字段、方法、初始化块、内部类,它们随着类的加载而加载;可以和 import 组合成 import static 静态导入。

需要注意的是,当static修饰方法时,该方法不能访问实例字段、不能使用thissuper关键字。

5、instanceof

  • 可以用来判断 a 是否为类 A 或其子类的实例(如果a instanceof A == true,则 a instanceof A 的超类 == true;如果 a 为 null,则a instanceof A == false
  • 可以用来判断 a 是否实现了 A 接口

6、var(java 10)

只能用于方法中的局部变量,参数和字段的类型必须显示声明。

7、assert

形式:assert conditionassert condition : expression

这两个语句都会计算条件,如果条件为false,则抛出AssertionException异常。在第二个语句中,expression 将传入AssertionError对象的构造器,并转换成一个消息字符串。

在默认情况下,断言是禁用的。我们可以在运行程序时,用如下选项启用或禁用断言:

启用断言:-ea/-ea:Class/-ea:Package;禁用断言:-da/-da:Class/-da:Package

选项 -ea 将打开无名包中所有类的断言。

java -ea:MyClass -ea:com.mycompany.mylib MyApp

以上命令将为 MyClass 类以及 com.mycompany.mylib 包和它的子包中的所有类打开断言。

什么时候使用断言:

  • 记住断言失败是致命的、不可恢复的错误
  • 断言检查只是在开发和测试阶段打开

看不懂,待解决:{

需要注意的是,不必重新编译程序来启用或禁用断言,因为启用或禁用断言是类加载器的功能。

启用和禁用所有断言的 -ea 和 -da 选项不能应用到没有类加载器的“系统类”上,此时需要使用-esadsa选项。

}


如有错误,欢迎指正。.... .- ...- . .- -. .. -.-. . -.. .- -.-- -.-.--

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值