JAVA关键字及数据模型

关键字

关键字的所有字母都为小写、不能作为标识符
总共为51+2(goto、const)个关键字

关键字 说明 功能 备注
public 访问权限修饰符 一种访问控制方式:共用模式 可以被该类的和非该类的任何成员访问
private 访问权限修饰符 一种访问控制方式:私用模式 仅仅可以被该类的成员访问,任何非该类的成员一概不能访问
sprotected 访问权限修饰符 一种访问控制方式:保护模式 仅仅可以被子类和类本身还有同一个包里的类访问
static 静态修饰符 用在变量、方法、代码块和嵌套类上具有静态属性 static关键字属于类,而不是类的实例
abstract 声明抽象修饰符 可被子类继承,提供共性属性和方法;可声明为引用,更自然的使用多态 sabstract修饰类无法独立存在,不能实例化,只能被继承,要求子类必须重写
final 修饰符 可以修饰类,变量,方法;赋值之后,数值不能再修改了 final修饰的方法,不让子类重写;所以final和abstract不能同时修饰一个方法
volatile 变量修饰符 只能用来修饰变量。无法修饰方法及代码块 volatile通过禁止高速缓存和防止指令重排序保证了可见性和有序性问题
extends 继承 全盘继承了父类的功能;也可以重写父类的方法
implements 接口实现 implements 关键字在 class 声明中使用,以指示所声明的类提供了在 implements 关键字后面的名称所指定的接口中所声明的所有方法的实现 实现一个接口就是要实现该接口的所有的方法(抽象类除外);
接口中的方法都是抽象的;
多个无关的类可以实现同一个接口,一个类可以实现多个无关的接口;
class 声明新的 Java 类 该类是相关变量和/或方法的集合
interface 接口 用来声明新的 Java 接口,接口是方法的集合 任何类都可声明它实现一个或多个接口
new 新,创建 创建类的新实例 后面的参数必须是类名,类名的后面必须是一组构造方法参数(必须带括号)
strictfp 严格,精准 声明的范围内Java的编译器以及运行环境会完全依照浮点规范IEEE-754来执行 可以将一个类、接口以及方法声明为strictfp,但是不允许对接口中的方法以及构造函数声明strictfp关键字
synchronized 线程、同步 用于方法或语句块 为一次只应由一个线程执行的关键代码段提供保护
transient 短暂 应用于类的成员变量 指出该成员变量不应在包含它的类实例已序列化时被序列化
break 程序控制语句 跳出,中断 用于提前退出 for、while 或 do 循环,或者在 switch 语句中用来结束 case 块
continue 程序控制语句 继续 用来跳转到 for、while 或 do 循环的下一个迭代
return 程序控制语句 返回 会导致方法返回到调用它的方法,从而传递与返回方法的返回类型匹配的值
do 程序控制语句 运行 用于指定一个在每次迭代结束时检查其条件的循环, do 循环体至少执行一次
while 程序控制语句 循环 用于指定一个只要条件为真就会重复的循环
if 程序控制语句 如果 指示有条件地执行代码块。条件的计算结果必须是布尔值
else 程序控制语句 否则 总是在 if-else 语句中与 if 关键字结合使用。else 子句是可选的,如果 if 条件为 false,则执行该子句
for 程序控制语句 循环 用于指定一个在每次迭代结束前检查其条件的循环
instanceof 程序控制语句 实例 用来确定对象所属的类
switch 程序控制语句 观察 用于基于某个表达式选择执行多个代码块中的某一个
case 程序控制语句 返回观察里的结果 case 用来标记 switch 语句中的每个分支
default 程序控制语句 默认 default 关键字用来标记 switch 语句中的默认分支
try 错误处理 捕获异常 用于包含可能引发异常的语句块
catch 错误处理 处理异常 用来在 try-catch 或 try-catch-finally 语句中定义异常处理块
throw 错误处理 抛出一个异常对象 用于引发异常;将 java.lang.Throwable 作为参数 ;Throwable 在调用栈中向上传播,直到被适当的 catch 块捕获
throws 错误处理 声明一个异常可能被抛出 可以应用于方法,以便指出方法引发了特定类型的异常
import 包处理 引入 使一个包中的一个或所有类在当前 Java 源文件中可见
package 包处理 指定在 Java 源文件中声明的类所驻留的 Java 包
const 保留字 静态
goto 保留字 跳转
native 保留字 应用于方法 指示该方法是用 Java 以外的语言实现的
super 变量引用 父类,超类 用于引用使用该关键字的类的超类
this 变量引用 本类 用于引用当前实例
void 返回类型 无返回值返回 如果想在方法中的任何地方终止执行,可以使用return后面不加任何返回值
boolean 基本类型 布尔型 Java 原始类型。boolean 变量的值可以是 true 或 false
byte 基本类型 字节型 Java 原始类型。byte 可存储在 [-128, 127] 范围以内的整数值。
char 基本类型 字符型 Java 原始类型。char 变量可以存储一个 Unicode 字符;char 常量:\b - 空格, \f - 换页, \n - 换行, \r - 回车, \t - 水平制表符, ' - 单引号, " - 双引号, \ - 反斜杠, \xxx - 采用 xxx 编码的 Latin-1 字符。\x 和 \xx 均为合法形式,但可能引起混淆。 \uxxxx - 采用十六进制编码 xxxx 的 Unicode 字符
double 基本类型 双精度 Java 原始类型。double 变量可以存储双精度浮点值
float 基本类型 浮点 Java 原始类型。float 变量可以存储单精度浮点值
int 基本类型 整型 Java 原始类型。int 变量可以存储 32 位的整数值
long 基本类型 长整型 Java 原始类型。long 变量可以存储 64 位的带符号整数
short 基本类型 短整型 Java 原始类型。short 变量可以存储 16 位带符号的整数
null 基本类型 Java 的保留字,表示无值。
true 基本类型 表示 boolean 变量的两个合法值中的一个
false 基本类型 代表 boolean 变量的两个合法值之一

数据类型

数据类型
1. 基本数据类型
关键字 说明 占用字节 默认值 取值范围
byte 字节型 1 0 -128~127(-2^7~2^7-1)
short 短整型 2 0 -32768~32767(-2^{15}~2^{15}-1)
char 字符型 2 0 汉字/数字/字符编码,只能存储一个字符
int 整型 4 0 -2147483648~2147483647(-2^{31}~2^{31}-1)
float 浮点型 4 0.0f 3.402823e+38~1.401298e-45(e+38 :乘以10的38次方,e-45 :乘以10的负45次方)
long 长整型 8 0L -9223372036854774808~9223372036854774807(-2^{63}~2^{63}-1)
double 双精度浮点型 8 0.0d 1.797693e+308~4.9000000e-324(e+308 :乘以10的308次方,e-324:乘以10的负324次方)
boolean 布尔型 1bit or JVM false true 和 false
2. 引用数据类型

引用数据类型大致包括:类、 接口、 数组、 枚举、 注解、 字符串等

名称 说明 示例 创建方式
String类 字符串 String 类是不可改变的,所以你一旦创建了 String 对象,那它的值就无法改变了;重新赋值只是改变存储的数据地址 "今天", "111" 1. String str1 = "name";//直接定义,在常量池中;
2. String str2 = new String("name");//在常量池创建后,再在堆中创建对象
Arrays类 数组 数组是固定长度、存储相同数据类型的一种数据结构,有索引值;数组内保存的元素可以是任意类型 [1,2,3],["hello","word","!"] 1. int[] its1 = new int[5];
2.String[] strs= {"java","python","c++"};
Enum 类 枚举 一种特殊的类型,是一组预定义的常量 每个常量都有一个name和value public enum Color implements Printable {WHITE("白色"), BLACK("黑色"), RED("红色");}
3. 特殊的类型
  • null是一种特殊的类型(基本类型、引用类型),一种表达式为null的类型,这个表达式没有名字。

  • 由于null类型没有名称,因此无法声明null类型的变量或将其强制转换为null类型。也就是说这个null在Java中本设计为一种类型,这个类型可以转化为任何其它引用类型,但不能让其它引用类型强制转化为null类型;

  • 空引用是空类型表达式的唯一可能值。这句话怎么说,拿上面的程序String a = null;此时这个null其实就是空类型表达式的值,只不过这个值只能为null。

  • null类型的值可以转成任何其它引用类型。

  • null是java中的关键字,像public 、static、final 一样区别大小写,不能写成NULL;

  • null可以赋值给引用变量,不能赋值给八大基本类型(byte,short,int,long,float,double,char, boolean);

数据模型

关键字 功能 说明 备注
DAO (Data Access Object) 数据访问对象 夹在业务逻辑与数据库资源中间 一般在 业务逻辑层(Service) 对 数据库(SQL) 的访问时使用,一般能对SQL进行操作
DTO(Data Transfer Object) 数据传输对象 一种设计模式之间传输数据的软件应用系统 一般在 前端(Web) 对 控制层(Controller)进行数据传输时使用,说白了就是前端向后台提交数据
DO (Domain Object) 领域对象 抽象出来的有形或无形的业务实体 一般在 业务逻辑层(Service) 对 数据库(SQL) 的 访问时 接收数据 使用。
VO(View Object) 视图模型 显示视图模型,视图对象,用于展示层 一般用在业务逻辑层(Service) 对 前端(Web) 的 视图模型效果控制的展示上,说白了就是后台向前端传输数据。
AO(Application Object) 应用对象 数据的传输过程的运载就是由AO完成 一般用在控制层(Controller)与 业务逻辑层(Service)层之间抽象的复用对象模型
BO( Business Object) 业务对象 对数据进行检索和处理的组件 一般用在包含业务功能模块 的具体实例上,比如我们写了一个Controller、一个Service、一个DAO、一个工具类等等这一系列实例组合后能实现一些功能,这些一系列实例组合为一个组件,这个组件就是BO
POJO( Plain Ordinary Java Object) 纯普通Java对象 普通JavaBeans,是为了避免和EJB混淆所创造的简称 有一些属性及其getter setter方法的类,没有业务逻辑
PO (Persistent Object) 持久化对象 数据库表中的记录在java对象中的显示状态 就是一个PO就是数据库中的一条记录。好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象
Entity 实体 应用程序域中的一个概念 在计算机网络中,实体这一较为抽象的名词表示任何可能发送或接受信息的硬件或软件进程
Model 概念实体模型 实体类和模型 Model是计算机程序设计中有两个概念:一个是三层架构中的实体类,另一个是MVC架构中的模型。
View 概念视图模型 视图模型 在MVC(模型Model-视图View-控制器Controller)模式中,View代表视图,用来解析Model带来的数据模型,以展示视图数据,View的模型觉决定了需要什么样的Model来对接,相互联系
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,864评论 6 494
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,175评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,401评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,170评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,276评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,364评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,401评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,179评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,604评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,902评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,070评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,751评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,380评论 3 319
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,077评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,312评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,924评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,957评论 2 351

推荐阅读更多精彩内容