这篇文章主要介绍一下,Java中的关键字static、final、abstract、this、super。
1、static修饰符
static修饰符表示静态的。static即是修饰符,也是关键字。
static可以修饰属性、方法(构造方法除外),不能修饰外部类,可以修饰内部类。
static修饰的对象,在JVM中只有一份。静态的变量、方法,直接通过类名称即可访问。
static还可以单独作为一块,称为静态块。静态块一般用于加载静态资源。
2、final修饰符
final修饰符表示最后的、最终的。final即是修饰符,也是关键字。
final可以修饰类、方法(构造方法除外)、属性。
final修饰符:
final修饰类,则该类不能被继承。
final修饰方法,则该方法不能被重写。
final修饰属性,则该属性的值一旦初始化后,就不能再被改变。
3、abstract修饰符
abstract修饰符表示抽象的。abstract即是修饰符,也是关键字。
abstract可以修饰方法、类,但是不能修饰属性。
abstract修饰符:
abstract修饰类时,表示该类是抽象类。
abstract修饰方法时,表示该方法是抽象方法,只有定义,没有方法实现。
抽象类中可以没有抽象方法,但是有抽象方法的类一定是抽象类。
4、this关键字
<1>this指代的是当前对象。即:哪个对象调用了当前类的属性或者方法,则this就指代该对象。
<2>this可以访问属性、方法、以及构造方法。
this访问属性:
this访问方法:
this访问构造方法:
<3>同一个类中的方法,访问类中的属性,可以省略this,编译器默认会在属性前面添加this。
<4>由于this是属于对象的,即:每个对象都有一个this。所以this关键字不能再静态方法或者静态块中使用。
5、super关键字
<1>super指代的是当前对象的父类对象的引用。
<2>super在子类中使用,可以访问父类的非私有属性、非私有方法、非私有构造方法。
super访问非私有属性:
super访问方法:
super访问构造方法:
在子类的构造方法中的第一行代码默认会使用super关键字调用父类中的无参构造方法。
如果父类没有无参构造方法,那么在子类的构造方法中,就需要显式的使用super调用父类构造方法。
<3>和this一样的,super也是属于对象的,所以不能在static修饰的地方使用。
综上,Java中关键字static、final、abstract、this、super介绍完了。