java中约有五十个关键字,我认为关键字是人机交流最重要的媒介语句,可以帮助机器识别人的命令,因此运用好关键字意味着可以更方便简洁地书写代码,可以避免很多冗长的代码。印象比较深的是在做五子棋游戏中,由于同一个数组在多个不同类中要多次使用,当时没有想到用“static”关键字来定义数组,结果在不同类中创建了很多个相同的数组,每个类中还要定义很多重复的方法,动一发而牵百身,十分不方便。
不同的关键字必然对应着不同方面的规则,因此是有必要对关键字进行分类记忆的。
有个很容易记忆的规则是,所有的关键字都是“小写字母”。
当然,这么分显然还不够,那么下面就以我个人的记忆链来再次分类吧。
**0.java是完全面向对象的,因此“类”的概念是非常重要的,关于“类”最基础的关键字有两个:
——class:声明类
——interface:声明接口
**0.首先每个类,都是在一定的包内,那么对于“包”的声明和引用,有两个关键字:
——import:1.导入包或类,使导入的包或类的源代码在当前你写的类可见;
e.g. import javax.swing.*;
//如果不导入包,则用到类时,要写类的全称限定;
2.如果要继承内部类,除非都是同一类中的内部类,否则必须要用import导入该内部类,即使子类写在同一页java文件中;
——package:指定书写的类所驻留的java包
e.g. package com.mycompany;
public class MyClass{ }
//MyClass类是在mycompangy包下的
**0.其次书写每个类的时候,类前都有“修饰限定符”,来表示该类的访问级别,有八个关键字是关于修饰限定符的:
——public:1.用于修饰类、方法、变量,所有类和包都可以访问,即“公开的”;
2.一个类内,只能含有一个public的类;
3.接口、抽象类里面默认的方法都是public的;
4.子类继承父类的方法,如果是public类型的,则重写不得小于public;
e.g. public class A{
public void function(){
public int a;
}
}
——protected:1.用于修饰类(但不能是顶级类)、方法、变量,在同一个包下可以访问,即“受保护的”;
2.系统里默认类的修饰符是protected;
——private:1.用于修饰类(只能是内部类)、方法、变量,只能在本类里访问,不能在任何的外部类甚至是子类中访问,即“私有的”;
——static:1.用于修饰类(只能是内部类)、方法、变量;
2.如果是用static定义了的方法,则可以直接用“类名.方法名”的方式直接调用该方法,而不必实例化类的对象;static方法中只能调用static属性;
3.如果是用static定义了的属性,则可以直接调用属性,不必实例化类的对象;
4.类的某一个对象的static属性值被改变后,这个类所有的static属性都会改变;
5.static代码块,这是独立存在的,java按顺序向下读取,且只读取一次:
e.g. Test3(图)
e.g.
——final:1.用于修饰非抽象类、非抽象类成员方法和变量;
2.意为“最终的,固定不变的”,所以final类没有子类(终极类);final方法可以被继承,但是不能被重写(固定不变的);final修饰的变量(可以是对象变量)就是常量(固定不变的);
3.“final空白”的情况:就是用final声明一个final变量,但是先不赋值:
a.在类的构造函数里给其写赋值的方法,那么类的每个对象都可以有不同值的final变量,但是还是具有final属性,即只能赋值一次。
b.在普通方法中先声明一个final变量,之后再赋值;
e.g.(图)
——abstract:用于修饰类、方法;
abstract类是抽象类,可以拓展子类;
abstract方法用于抽象类与接口,在本类中不能实现方法体,是在某个子类中重写方法体实现,因此abstract类不能直接实例化对象;
由于abstract类必须要子类来继承实现,所以不能应用于private、static、final方法,因为这些方法不能在子类中重写;同时在final类中也不能有abstract方法,因为final类没有子类;
——native:应用于方法,以指示该方法是用 Java 以外的语言实现的。
——volatile:表明两个或多个变量必须同步地发生变化,在“线程”概念中用到;
——synchronized:表明一段代码需要同步执行,在“线程”概念中用到;
修饰符的访问范围如下:
| 修饰符 | 类 |成员访求|构造方法|成员变量|局部变量|
| abstract 抽象的 | √ | √ | - | - | - |
| static 静态的 | - | √ | - | √ | - |
| public 公共的 | √ | √ | √ | √ | - |
| protected 受保护的 | | √ | √ | √ | - |
| private 私有的 | - | √ | √ | √ | - |
|synchronized 同步的| - | √ | - | - | - |
| native 本地的 | - | √ | - | - | - |
| transient 暂时的 | - | - | - | √ | - |
| volatile 易失的 | - | - | - | √ | - |
| final 不要改变的 | √ | √ | - | √ | √ |
**0.而每个子类可以继承一个父类或者实现多个接口,关于“继承与实现”,有2个关键字:
——extends:1.用于子类继承父类或者接口,或者接口继承接口;
2.注意子类只能有一个父类(就像一个孩子只有能有一个生父),但可以有多个接口
——implements:1.用于接口在类中的实现;
2.注意,接口中所有的方法都要进行重写;
**0.接着每个类里面可以定义许多属性,而属性可以是“基本类型”或者“引用类型”,对应前者,有9个关键字:
byte: 8位
char: 16位 字符型
short: 16位 短整型
int: 32位 整形
float: 32位 单精度浮点型
long: 64位 长整型
double: 64位 双精度浮点型
blooean: true 和 false 布尔型
enum:枚举型
引用类型又称类类型,由接口,抽象类,数组等组成,而类一般都是大写字母开头,所以可以排除在关键字外,这个只是记忆的一种方法,其中细究的原因我还没研究,因此暂不展开了。
**0.而对应不同的数据类型的访问值,又有三个关键字:
false:布尔型的一个值
true:布尔型的一个值
null:除了基本数据类型的其他类型的初始值
**0.然后开始写方法体,那么方法可以分为有返回值和无返回值类型,这里对应的有两个关键字:
void:表示返回值为空,写在方法名之前
e.g. public void B(){ }
return:表示有返回值,写在方法体内
e.g. public int A(){
int k;
return k;}
**0.方法体内如果有“引用”父类或者自己的类,则又有两个关键字:
this:1.可以区别形参还是属性:this.属性名 代表“我的属性”;不带this的是形参;
2.代表当前对象;
super:当父类的方法被重写后可以用"super.父类的方法"来调用父类的方法;
**0.在方法体中我们常常会用循环、判断等流程控制,对应此,又有10个关键字:
if: 条件语句的引导词
else: 用在条件语句中,表明当条件不成立时的分支
for: 一种循环语句的引导词
do: 用在do-while循环结构中
while: 用于指定一个“只要条件为真就会重复”的循环。
switch: 分支结构语句的引导词
case: 用在switch语句中,表明其中的一个分支
default: 默认,例如,用在switch语句中,表明一个默认的分支
break: 用于提前退出 for、while 或 do 循环,或者在 switch 语句中用来结束 case 块;
continue: 用来跳转到 for、while 或 do 循环的下一个迭代,而不是跳出循环;
**0.当我们创建了一个类以后就可以实例化一个对象,这里就会关系到一个关键字:
new:开辟一块新的内存空间来存储要创建的新对象;
**0.而以后看到一个对象却不知道其属于哪个类,那么确定对象就有一个关键字:
instanceof:用来确定对象所属的类
e.g. if (node instanceof TreeNode){ }
// 判断node是否是TreeNode类的
**0.还有,我们书写代码的时候一定会有可能引发异常的语句,对于“异常处理”,java中又有5个关键字:
try:尝试
catch:捕获
finally:最终地
throw:抛出
throws:抛出
此外,Java还有两个保留字:
const常量
goto转到
(这些只是保留字,最好不用)
分享到:
相关推荐
### Java关键字总结 Java是一种广泛使用的面向对象编程语言,它具备简单性、可移植性、高性能等特点。在Java中,关键字具有特殊的语法含义,不能用作标识符(例如变量名或方法名)。以下是对给定文件中提到的Java...
下面是对Java关键字的详细总结。 一、类型关键字 1. 基本数据类型:`byte`(1字节)、`short`(2字节)、`int`(4字节)、`long`(8字节)用于表示整数;`float`(4字节)、`double`(8字节)用于表示浮点数;`char...
Java 关键字总结 Java 关键字是 Java 编程语言中的一种特殊词语,用于定义、声明和控制程序的流程。以下是 Java 中 48 个关键字的总结: 1. abstract:abstract 关键字可以修改类或方法。abstract 类可以扩展...
下面是对Java关键字的详细总结,按照给出的部分内容进行排列: 1. `abstract`: - `abstract` 关键字用于声明抽象类或抽象方法。抽象类不能被实例化,只能作为其他类的基类。抽象方法没有具体的实现,必须在子类中...
Java关键字大全 Java语言中有多种关键字,每个关键字都有其特定的用途和作用。下面是Java关键字大全的详细解释: 1. abstract关键字 abstract关键字可以修改类或方法。abstract类可以扩展(增加子类),但不能...
### Java关键字总结珍藏版(48个) #### 1. abstract - **定义与用途**:`abstract`关键字在Java中主要用于定义抽象类和抽象方法。抽象类是指那些不能直接实例化的类,它们通常会被继承来提供进一步的实现细节。而...
黑色为保留字(现阶段没有在 Java 程序当中使用,但是先预约保留下来,以备日后使用),保留字跟关键字具有同样的等级,不可被用来作为标识符。 常用的 Java 关键字包括: * 访问修饰符:public、private、...
该文档主要介绍了java关键字的用法及说明
### Java关键字的用法 Java作为一种广泛使用的编程语言,拥有丰富的关键字来支持其核心功能与特性。本文将详细介绍部分重要的Java关键字及其用法。 #### 1. `abstract` `abstract`关键字用于定义抽象类或抽象方法...
首先,让我们来谈谈“Linux中Java变量与java关键字”。在Java编程中,变量是存储数据的容器,它们可以是基本类型(如int、float、boolean等)或引用类型(如对象)。在Linux环境下,Java程序的运行与Windows或Mac...
### Java关键字分类解释 #### 一、类与接口定义关键字 - **class**: 在Java中,`class`关键字用于声明一个类。类是面向对象编程的基本单元,它定义了一组属性(成员变量)和方法(成员函数),这些共同构成了一个...
Java 关键字是编程语言中具有特殊含义的保留词汇,它们在编程中扮演着至关重要的角色。本篇文章将深入解析 Java 中的一些关键关键字,并提供相关的编程示例。 1. `abstract` 关键字: `abstract` 可以用于修饰类和...
本篇文章将深入探讨`super`关键字的使用方法,包括其在构造函数、方法调用以及字段访问中的应用。 ### 1. 构造函数调用 当子类继承父类时,有时候我们需要在子类的构造函数中调用父类的构造函数。Java中的`super`...
这篇文档《Java关键字详细解》将深入探讨Java中的关键字及其用途。 首先,我们来看看Java中的主要关键字。`public`、`private`、`protected`是访问修饰符,用于控制类、方法和变量的访问权限。`public`可以被任何...
Java关键字是由Java语言预定义的标识符,具有特殊的含义,不能用作变量名、方法名或类名等自定义标识符。本文将详细介绍Java中的关键字及其用途。 #### 关键字列表与解释 1. **abstract** - **用途**:用于声明...
JAVA关键字列表 Java是一种面向对象的编程语言,具有多种关键字,用于控制程序的执行、定义变量、类和方法等。本文档系统列举了Java的关键字及其用法分类,总共分为以下几个类别:访问控制、类、变量修饰符、流程...
综上所述,Java关键字是构成Java语言核心语法的重要元素,熟练掌握这些关键字的使用对于编写高效、安全的Java程序至关重要。无论是抽象类与方法的定义、逻辑值的操作、循环与条件控制、异常处理,还是基本数据类型的...
"Java关键字final、static使用总结" 在 Java 编程语言中,final 和 static 是两个非常重要的关键字,它们可以用来修饰类、方法、变量等,了解它们的使用方法和限制非常重要。本文将详细总结 final 和 static 的使用...
这个关键字表明方法的实现是用非 Java 语言(通常是 C/C++)编写的,通常与Java Native Interface (JNI)一起使用。 8. **new**:创建。new 关键字用于动态分配内存并创建类的实例,也就是对象。 以上就是 Java ...