在Java中,关键字是具有特殊含义和用途的词。以下是一些常见的Java关键字:
1.类和对象相关
class | 定义一个类,这个类还必须被public修饰(可以供其他类使用,不然定义出来没啥用,类成员可以设置不同的访问权限); 类名和文件名保持一致。 |
interface | 定义一个新的接口 |
extends | 让一个类继承另一个类或者一个接口扩展另一个接口 |
implements |
让一个类实现一个或多个接口 |
new |
创建一个对象实例 |
2.访问控制修饰符
private | 私有的,同一个类中的成员可以访问被修饰的成员 |
default | 默认的,加不加关键字都行,在同一个包内的成员可以访问被修饰成员 |
protected | 在同一个包内,或者存在继承关系,不在一个包内也可以访问被修饰成员 |
public | 公开的,被修饰成员可以被任何其他类访问,没有限制。 |
3.变量和方法修饰符
static
被static修饰的变量或方法属于类本身,而不是类的对象,被类的所有对象共享。生命周期和类同步,类被加载时,静态变量或方法也同步加载。只被加载一次。
类中的静态变量和方法,直接用类名调用。
一个类中的静态方法,变量不可以调用非静态的。但是非静态可以调用静态的。(因为生命周期不一样,非静态的方法在被对象调用时才加载到方法区,但是静态的是在加载类时就加载到方法区了,此时方法区就没有非静态的没法调用)。静态的可以直接调用静态的。
final
不可改变的,最终的意思
1.定义在变量前,表示该变量不可更改了,变量变为常量;
2.定义在类前,表示该类不可继承;
3.定义在方法前表示该方法不可重写。
abstract
抽象的意思 ,修饰类和方法。
有抽象方法的类为抽象类(类也必须用abstract修饰),抽象类不可以实例化,可以让实现类继承该抽象类,然后实例化子类。抽象类可以没有抽象方法。
被修饰的方法,必须被实现类重写。所以抽象方法不能被final,private,static修饰。
synchronized
锁,在多线程编程中,用于确保方法或代码块在同一时间只能被一个线程访问。
4.控制流语句
用于条件判断的
if else 和 switch case
public static void main(String[] args) {
int x=1,y=2;
if(x==y){//为真执行语句1
//语句1
}else{ //为假执行语句2,else与最近的if匹配
//语句2
}
}
int x=1,y=2;
switch (x){
case 1:
System.out.println(x);
break;
case 2:
System.out.println(y);
break;
default:
System.out.println(3);
}
用于循环结构
for
for (int i = 0; i < 10; i++) {
//int i = 0; //初始变量i,只执行一次
//i < 10 ; //执行判断条件,满足才执行
//i++ 更新变量,执行本次逻辑后自增,可以根据需求定义,如i--,i+=2;
}
int i = 2; //可以将初始化部分提出来,作为成员变量
for (; i > 0; i--) {
}
while
while (x<y){//满足条件进入循环,不满足退出
//循环可以嵌套,但不建议嵌套太多层,看起来不直观简洁
while (true){//如果没有退出条件会死循环
x++;
if(x==y){//退出条件
break; //退出这层while的循环
}
if(x==3) continue;
//continue 可以跳过本次循环,就是回到while (true)那里进行下一次循环
x++;
}
x+=3;
}
break: 用于立即退出循环或`switch`语句。
continue: 跳出这一次循环迭代,继续下一次循环。
5.异常处理
throw | 抛出异常对象 |
thows | 声明异常 |
try catch | 捕获处理异常 |
finally | 定义一定会被执行的代码,通常用来释放资源 |
6.其他
this
定义在成员方法内部,表示调用当前方法的对象的引用。this用来调用本类的成员变量,成员方法,构造方法。成员方法中的成员变量都是通过this调用的(编译器编译的时候自动加上的,不需要在每个变量前手动加this)。但参数跟成员变量相同时,得手动加上表示一个为形参一个为成员变量。在用this调用本类的构造方法时,得放在构造方法中的 第一行。
super
父类方法,变量和构造方法的引用,调用父类的成员变量,成员方法,构造方法。
在子类中用super调用父类构造方法时,也得放在子类构造方法的第一行,先初始化父类成员变量。
null | 在java中表示空引用,就是不指向任何对象的引用. |
package | 定义一个包 |
import | 在类中导入其他包 |
enum | 定义枚举类型 |
assert | 断言,用于调试 |
return | 后跟返回值,表示结束方法,返回结果;如果方法返回值类型为void,则 return 。 |