天天看点

【初稿】Java中关键字基础知识及核心用法

一、博客概述

      1.本章博客主要从几个方面简要/详细介绍Java关键字,从分类、定义、基本用法、应用场景及‘为什么被设计'。

      2.为了建立统一的认识,首先说明几个概念:Java及关键字是什么?

       可能Java大家用了这么久,都可能觉得没有必要说明概念,但是往往每个人的理解不一样,资深人士称之为编程工具、专业人士称之为编程语言,非行业人士称之为Java语言。

         为了降低人理解的差异性,统一将Java定义为用来支持业务流程,业务往来,业务对象进行业务合作的制作应用软件的一门技术性语言,统一为应用语言(核心思想:就是拿来用的语言)。

       关键字是什么 ? 从非专业性和专业性定义:

     非专业性:关键字是应用语言中的核心单词,用来构建整个整个语言中的核心模块。

     专业性:  属于编程语言中变量的一个分类,根据Java编译器能理解的变量称之为特殊变量(关键字、保留字均可以)

二、参考博客

https://www.cnblogs.com/chenglc/p/6922834.html 【java关键字及作用】

https://baike.baidu.com/item/java%E5%85%B3%E9%94%AE%E5%AD%97/5808816?fr=aladdin【Java关键字,百度百科】

三、关键字分类

1. Java编程语言中关键字有多少个?

           50个关键字 (方便记忆进行分类记忆)

2.根据关键字的核心含义进行分类:

关键字总表预览

包相关 import packege assert
基本类型 byte short int long
boolean char float double
变量引用 super this void
继承相关 extends implements
类、方法、属性 enum class abstract interface
final static strictfp native
new synchronized transient volatile
访问控制 public private  protected default(缺省)
异常控制 try catch throw throws
程序控制 if else switch case
while do for back
continue default return instanceof
保留字 goto const

1.抽象性关键字:enum  / class / abstract / interface  (4个)

2.访问权限关键字:public / protected /  默认 (空白不写)  != default   / private  (4个)

3.本身、数据类型关键字:this  / super / short / byte / int / long / boolean / char / float / double / void  (11个) 

4.结构关键字:if  / if-else / if-else if- else/ for / while / do-while / switch - case /  break / continue  (9个)

5.数据结构的顺序关键:默认是从上往下,从左往右依次执行

6.异常处理关键字:try - catch - finally /  throw / throws (4个)

7.具有关系性关键字: extends / implements / import  (3个)

8.静态化、可变性关键字: static / final (2个)

9.同步方式关键字:synchronization  /  volatile  (2个)

10.其他关键字:transient / strictfp / packege /  new / native / goto / const / assert / default / instanceof / return (11个)

三、常用关键字的基础知识

1.抽象性:enum/class/abstract/interface (4个均为常用的关键字,包含@interface 声明注解类型)

(1) enum/class基础知识及核心用法

enum是枚举类型,列举的含义。根据该概念的集合是否有穷,划分为enum/class。

如果可以根据知识体系,划分至底层,则用enum描述,否则,用class进行声明数据类型。

class是类类型,一类事物的含义。描述同上,不再赘述。

核心用法:enum

// 简单的声明一个枚举类型

public enum SimpleEnum{

    PEOPLE(0,"人"),
    BOOK(1,"书"),
    MONERY(2,"钱);

    private Integer key;

    private String value;

    public SimpleEnum(Integer key,String value){

    this.key = key;

    this.value = value;

    }

    //get/set方法自行创建,已省略...

}
           
// 定义系统权限枚举类型

public enum SystemRoleEnum{

    //从外部定义系统权限(可访问权限和不可访问权限)

    ACCESS(0,"可访问权限"),
    NOT_ACCESS(1,"不可访问权限"),
    
    //从内部定义系统权限

    // 1.登陆用户可访问的菜单权限;

    NAVICATE(2,"菜单访问权限"),
    BUTTON(3,"按钮访问权限"),
    ADD_BUTTON(4,"添加按钮访问权限"),
    REMOVE_BUTTON(5,"移除按钮访问权限"),


    // 2.资源访问权限;

    GLOBAL_RESOURCE(6,"全局资源访问权限"),
    PART_RESOURCE(7,"局部资源访问权限"),
    STATIC_RESOURCE(8,"静态资源访问权限"),

    // 3.文件读/取权限;

    FILE_READ_ROLE(9,"文件读取权限"),
    FILE_WRITE_ROLE(10,"文件写入权限"),

    // 4.文件下载权限等次列举

    FILE_DOWNLOAD_ROLE(11,"文件下载权限");

    private Integer key;

    private String value;

    public SystemRoleEnum(Integer key,String value){

    this.key = key;
    this.value = value;

    }

    // 自行添加Setter/Getter函数

}
           

核心目的:为了存储通用的概念集合,均统一定义在枚举中。

(题外话: 好的业务系统架构,通常在数据库表结构中进行定义且至多一张表来定义)

为什么被设计? 在早期的的数据库设计,Web应用不太流行时,Enum被广泛的运用在C/S模式应用中,为C/S模式的应用程序/服务器提供了很好的支撑。

要点分析:1.早期条件:数据库表设计不够优秀,在不同的实现中,对多个概念集合映射进行大量的文档描述。

要点问题:1.对于应用系统开发过程中,人员替换容错率高;2.为了系统可以适应不同的场景,需要修改大量的代码,造成后期维护过重的问题。

解决方案:引入枚举类型的概念,基于这样的概念,降低了系统开发容错率及修改较少的代码,提高兼容性。

核心用法:class

基于不同的人理解,不再此赘述常识。

(2) abstract/interface 基础知识及核心用法

abstract 是?

interface是?

核心用法:abstract

核心用法:interface

3)访问控制

1) private 私有的

private 关键字是访问控制修饰符,可以应用于类、方法或字段(在类中声明的变量)。 只能在声明 private(内部)类、方法或字段的类中引用这些类、方法或字段。在类的外部或者对于子类而言,它们是不可见的。

2) protected 受保护的

protected 关键字是可以应用于类、方法或字段(在类中声明的变量)的访问控制修饰符。可以在声明 protected 类、方法或字段的类、同一个包中的其他任何类以及任何子类(无论子类是在哪个包中声明的)中引用这些类、方法或字段。

3) public 公共的

public 关键字是可以应用于类、方法或字段(在类中声明的变量)的访问控制修饰符。 可能只会在其他任何类或包中引用 public 类、方法或字段。

四、冷门关键字

五、深度分析设计的目的

六、总结归纳

创作阶段:初稿

创作日期:2019年3月2日

更新日期:2019年3月24日