JAVA基础之十-不常用但是又希望能看懂的关键字/生存字 ...

莱莱  金牌会员 | 2024-10-21 14:14:38 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 884|帖子 884|积分 2652

对于绝大部门JAVA工程师而言,大部门的关键字也是可以大概看懂的,但还是相称一部门比力不常见的关键字,妨碍了代码阅读。
本文力图收集一些个人认为在CRUD机械工作中大概比力少见的一些关键字/生存字。
此类关键字主要用于修饰方法和类。
收集过程会连续一段时间,现在临时没有时间也没有必要找出个人为人需要整理的,只会遇到就更新一下。
一、概述

需要注意的是,差别的版本中,关键字包含的内容不是一样的。
大体而言:

  • 随着版本的发展,关键字越来越多
  • 增长的幅度不定,有的版本还是相称克制的,甚至大概有些版本没有出现新的关键字;有的版本会新增许多
  • 大部门的关键字,在java1.0的时间已经确定下来
如果想知道具体有哪些,最好阅读官方的文档,地址是:https://docs.oracle.com/javase/specs/index.html
当前有从6~23有关版本的文档。
我们看下几个关键版本的关键字差别
JAVA8

 50个。
 
JAVA17

67个,注意下划线也算,比J8多了很多
 
JAVA23

 68个,比J17多了一个when
可以看到,差别的版本,有差异。
本文主要讨论截止JAVA23的部门关键字:

  • assert
  • default
  • transient
  • strictfp
  • volatile
  • native
  • exports
  • opens
  • requires
  • yield
  • module
  • permites
  • sealed
  • var
  • provides
  • to
  • when
 
除了这些语言中的关键字(生存字),我们还会在javaDoc中看到许多专业词语,虽然使用翻译软件可以大概办理一些问题,但毫无疑问
如果可以大概直接阅读无疑能提高服从,并避免翻译过程中的曲解问题。
二、关键字细节

2.1、assert

释义:断言;见效;维护自己的权利(或权威);坚持自己的主张;明确肯定;体现坚定
说明:这个东西主要是为了辅助开发调试用的-如果条件不建立那么会终端运行。
用法
a. assert  布尔表达式:条件不建立后的警告
b.需要在运行时间设置vm选项 -ea
示例:
  1. assert 1!=1:"1等于1";
复制代码

 这个东西有助于开发调试。
2.2、default

释义:默认
说明
a.default关键字用于接口,从J9开始出现的,允许界说一个默认的实现
b.在注解中为属性提供默认值
示例:
例一、接口默认函数
  1. /**
  2. * 接口特性示例,包含了j7~j17
  3. */
  4. public interface ITool {/**
  5.      * @apiNote  收起来
  6.      * 这是默认方法
  7.      * 实现类可以覆盖,也可以不覆盖。
  8.      * 可以调用其它四种类型的方法
  9.      * 如果每个子类实现的都是一样的,就可以用这个。这样可以节约代码,也好维护   
  10.      * @since J8
  11.      */
  12.     default void putAway() {
  13.         //调用 private static
  14.         //decay();
  15.         //调用 private
  16.         //flash();
  17.         //调用 public abstract
  18.         //repair();
  19.         //调用 public static
  20.         //show();        
  21.     }
  22.     default void putAway(String msg) {        
  23.     }   
  24. }
复制代码
 
例二、注解
[code]@Target({ ElementType.FIELD })@Retention(RetentionPolicy.RUNTIME)@Constraint(validatedBy = {ValidMessage.class})@Documentedpublic @interface ValidIsPositive {    String message() default "";    Class[] groups() default { };    Class

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

莱莱

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表