java关键字总结

java关键字总结


关键字指的就是电脑语言中事先定义好,有其独特意义的标识符,专门提供给电脑语言识别的词语,所以它不能作为变量名、方法名、类名、包名或参数名等等。

在java中,总共有51个关键字,2个保留字,其中"const"和"goto"是其他电脑语言的关键字,所以在java当中没有具体含义。

接下来就看看每一个关键字的作用。

关键字列表

访问控制:private protected public

定义类、接口、抽象类和实现接口、继承类的关键字、实例化对象:class abstact interface extends implements new 

修饰方法、类、属性和变量:static final super this native strictfp synchronized transient volatile

程序控制语句:break continue return do while if else for 
			instanceof switch case defautl

错误处理:try catch final throw throws assert

包相关:import package

基本类型:boolean byte char double float int long short 
		 null true false enum

变量引用:super this void 

保留字:const goto

每个关键字解析

访问控制:
  • private 私有的,只能被类本部使用

  • protected 受到保护的,可以被类本部、本包和子类使用

  • public 公有的,可以被任意使用,类本部、本包,子类和外部包

1、外部类只能被public和默认修饰,个人认为其原因是如果类具有局限性,那么其他类在使用的时候就不方便,设计者就干脆不允许这种行为。
2、default的范围是弱于protected的,default只能被本包和类本部使用

定义类、接口、抽象类和实现接口、继承类的关键字、实例化对象:
  • class 创建一个类

  • abstract 定义抽象类或者抽象方法,子类必须实现父类所有方法,除非子类也是抽象类。抽象类中不一定全是抽象方法,可以是具体方法或私有变量

  • interface 定义接口,java不支持多重继承,但是支持一个类实现多个接口。接口中的类必须是Public static,变量必须是public static finaly。

  • extends 继承,java只支持继承一个类。

  • implements 实现接口的声明。

  • new 创建一个新的对象的声明。

修饰方法、类、属性和变量
  • static 静态声明,可以在没有创建对象的情况下进行调用,不能使用super和this,用于静态方法、静态变量、内部类。静态方法不能调用非静态方法,但是非静态方法可以调用静态方法。

  • final 最终不可被改变的,修饰的类不能被继承、修饰的方法不能被重写、修饰的变量不可以被改变地址、jvm会自动监测final并为其尝试寻求内联,可以提升java的效率、被final修饰的常量,在编译阶段会存入调用类的常量池当中

  • native java调用非java接口,即方法所对应的实现不是在当前文件,而是在用其他语言实现的文件中。Java语言本身不能对操作系统底层进行访问和操作,但是可以通过JNI接口调用其他语言来实现对底层的访问。

  • strictfp 用于让类、接口或者方法都处于精确运算的环境下。不允许对接口中的方法以及构造函数声明strictfp关键字。

  • synchronized 同步互斥,用于线程同步的时候,对方法进行加锁操作,只能让一个线程运行。

  • volatile 用其修饰的变量,线程在每次使用变量的时候,都会读取变量修改后的最新值。用于进行线程并发处理时候对于缓存一致性和保持原子性操作。目的是为确保所有线程读取到指定变量的值都是相同的。
    1、表示可以被多个线程异步修改的成员变量
    2、由于使用volatile屏蔽掉了VM中必要的代码优化,所以在效率上比较低
    3、在很多java虚拟机上面未实现该功能

  • transient 在java当中可以使用serialization进行序列化对象操作,如果希望一个特殊的对象数据成员不被序列化,那么使用transient就可以让其不被序列化。

程序控制语句
  • if 如果,适用于判断语句
  • else 否则,用于判断语句分支语句
  • while 当什么时候,循环语句的一种,适用于当什么执行什么
  • for 满足三个条件的循环语句,for(单次表达式;条件表达式;末尾循环体)。用于指定一个在每次迭代结束前检查其条件的循环。
  • switch 用于基于某个表达式选择执行某种代码块中的一个。switch 条件的计算结果必须等于 byte、char、short 或 int。如果没有break,那么会一直执行下去
  • case 用于switch中标记每个分支,case需要用break来进行结束。
  • default 用于switch中作为最后处理方式;用于泛型定义中使用default关键字代表不确定的变量或者参数。
  • do 用于指定一个在每次循环结束之后就会检查其条件的循环。条件表达式后面必须有分号、do while必须执行一次
  • break 用于循环中退出自身的循环
  • continue 用于循环中某单次循环不继续执行,但是整个循环照常执行
  • return 使方法返回到调用它的方法,从而传递与返回方法的返回类型匹配的值
  • instanceof 用于确定对象所属的类,通常用于判断父类或者接口的引用是否是某个子类的实例
错误处理
  • try 捕获异常,用来监视可能发生异常的代码,可以跟catch,也可以跟Final组合使用。
  • catch 异常出错处理。
  • finally 无论异常是否发生都会执行。有一种情况Try+finally,不出现异常则全部出现,如果出现异常就会跳到finally,然后后面的代码就不会执行了,因为异常未捕获,会中断代码执行。
  • throw 人为抛出异常
  • throws 在方法或者类上加,将内部出现的异常抛到上一层进行处理。
包相关
  • impor 引用包的关键字
  • package 指定在 Java 源文件中声明的类所驻留的 Java 包。
基本类型
  • byte 字节型,用于定义临时变量、形参、属性的数据类型。1byte
  • char 字符类型.2byte.
  • boolean 布尔类型,true和false
  • short 短整形,2byte.
  • int 整形,4byte
  • float 浮点数,4byte
  • long 长整型,8byte
  • double 双精度,8byte
  • null 空值,表示内存当中没有这个对象空间,将 null 赋给非原始变量相当于释放该变量先前所引用的对象。Null不能被赋值给原始数据类型。
  • true 真,布尔值的字面值。
  • false 假,布尔值的字母值。
变量引用
  • super 表示当前对象的父类对象的一个引用
  • this 引用自身的指针,只能在非静态方法中使用。
  • void 无返回,可以用作方法的返回类型
保留字
  • const 常量。用于修改字段或局部变量的声明。它指定字段或局部变量的值是常数,不能被修改
  • goto 跳转。指定跳转到标签,找到标签后,程序将处理从下一行开始的命令。

总结

至此,所有关键字都已经解释完成了,有了个初步印象,有些关键字仅仅了解就可以了,比如基本数据类型关键字,访问权限控制关键字等;有些关键字就需要慢慢仔细研究,比如static、final、synchronized等。

其实个人认为关键字其实就是电脑语言自己定义的词语,每个词语代表不同的意思,能够被电脑识别,这些关键字的存在简化了编程,就好像数学公式一般可以解决实际问题。所以有些人觉得自己英语不好就觉得编程难学挺没道理,只要学会这些关键字并了解怎么用,那么在使用的时候将其组合起来,整个编程就会很简单。

毕竟编程还是看重的算法+数据结构,思维能力更加重要。

  • 既然不能成为屠龙的勇士,那么就好好成为一名优秀的管家,为公主建设一个温馨美好的家。
    Since it can not become a dragon warrior, then it is a good housekeeper, for the princess to build a warm and beautiful home.

  • 原文地址:https://www.cnblogs.com/ITflying/p/7249023.html