static
用static修饰的方法属于这个类,因此即使没有创建该类的具体对象,类中用static修饰的方法也会存在。
类名.方法名([实参表]);this
this关键字作为自身的引用,其作用就是在类的自身方法中引用该类自身.在同一个类中,类的成员变量是不能重名的,但方法或语句块中的局部变量是可以和类的成员变量重名的,这时候必须使用this来限定和区分是否是类变量。方法间的互相应用也可以使用this关键字,this引用也可以用于构造方法中作为默认引用
super
super是Java提供的一个关键字,它是直接父类对象的默认引用。
正如this不能出现在static修饰的方法中一样,super也不能出现在static的方法中
如果子类定义了和父类同名的属性,也会发生子类属性覆盖父类属性的情形。子类的方法直接访问该属性时,都会访问到覆盖属性,无法访问父类被覆盖的属性---通过super来访问父类被覆盖的属性
.如果需要在子类方法中调用父类被覆盖的实例方法,可以用super作为调用者来调用父类被覆盖的实例方法。
final
final关键字可用于修饰类、变量和方法,用于表示它修饰的类、变量和方法不可改变。
final修饰变量时,表示该变量一旦获得了初始值之后就不可被改变,final既可修饰成员变量(包括类变量和实例变量),也可以修饰局部变量、形参.
abstract
抽象方法的返回值类型前有关键字abstract;
抽象方法没有方法体;
抽象方法的定义是一行单独语句,以分号结束;
在抽象方法声明中使用static修饰符是错误的。
类中如果定义了抽象方法,这个类必须定义为抽象类。
[public] abstract class 类名{
//类体(属性、非抽象方法、抽象方法、构造方法)
//类体(初始化块、内部类、枚举类)
}
抽象类不能创建自己的对象,使用new创建抽象类对象将产生错误。
子类继承抽象类时,应该覆盖抽象类中的所有抽象方法,否则子类也必须定义为抽象类。
含有抽象方法的类(包括直接定义了一个抽象方法;继承了一个抽象父类,但没有完全实现父类包含的抽象方法)只能被定义成抽象类。但抽象类中却并一定包含抽象方法。
抽象方法和空方法体的方法不是同一个概念