Java 关键字:this、static、super、final、abstract

this 关键字

  • this表示的是当前对象本身, 更准确地说,this代表当前对象的一个引用。

▪ 普通方法中使用this。
– 区分类成员属性和方法的形参.
– 调用当前对象的其他方法(可以省略)
– 位置:任意
▪ 构造方法中使用this。
– 使用this来调用其它构造方法
– 位置:必须是第一条语句
▪ this不能用于static方法。

super关键字
super是直接父类对象的引用
用途:1.可以通过super来访问父类中被子类覆盖的方法或属性
2.当super在普通方法中使用的话,可以在任意位置编写
3.当super在构造方法中使用的话,会调用父类的构造方法,注意要放在第一行
4.在构造方法中,super和this不能同时使用。super和this都不能在static方法中
5.父类中私有的属性和方法都不能被继承,构造方法
6.子类的构造方法都会默认使用super关键字调用父类的无参构造方法,因此在定义类的时候,无论自己是否写其他构造方法,最好将无参构造方法写上
7.如果构造方法中显示的指定了super的构造方法,那么无参的构造方法就不会被调用
总结:
1.在创建子类对象的时候一定会优先创建父类对象
2.所有java类都具备同一个老祖宗,称之为Object,是所有类的根类。
使用:
调用构造方法:super();无参
super(name);有参
调用普通方法/属性:
super.play
super.name

重写@override
Java 关键字:this、static、super、final、abstract_第1张图片
父类 public 子类 public
父类 private 子类 public,private
父类 default 子类 public,private,default
私有无法被继承

方法重载与方法重写:
Java 关键字:this、static、super、final、abstract_第2张图片
static 关键字
在类中,
–用static声明的成员变量为静态成员变量 ,或者叫做: 类属性,类变量.可以使用对象名调用,也可以使用类名直接调用(普通变量必须通过对象调用)。
–修饰方法时,可以使用类名也可以使用对象名调用
注意:
1、静态标量在创建对象之前被初始化,或者说在类被载入时初始化(在被对象化之前就有了

2、静态变量被所有的对象共享,属于公共变量,对象和类都可以调用,但推荐使用 [类名.类属性]
3、普通成员变量放在堆中,静态变量放在方法区
4、静态变量不可以定义在方法(包括静态方法)中,必须放在类里方法外
5、非静态方法中可以直接调用静态方法
6、静态方法中不能直接调用非静态方法,可以通过 :new 类.非静态调用
7、静态方法中不允许出现this调用
8、一般工具类中的方法定义为static

abstract关键字:
java中的对象是对现实世界的具象化,但是在现实世界中,某些类并不具备实例化的意义,因此可以定义为抽象类
抽象类:
1.创建抽象类的时候需要添加abstract的关键字
2.不能进行实例化,也就是不能new对象
3.抽象类中的某些方法需要子类进行更丰富的实现,父类实现没有意义,此时可以将抽象类中的方法定义为抽象方法,没有具体的实现,只包括方法名称、返回值、参数列表,访问修饰符
4.使用abstract关键字修饰的方法为抽象方法,可以不写方法的实现
5.子类在继承抽象父类的时候,必须要将父类中的抽象方法进行实现或者将子类定义为抽象类
6.有抽象方法的一定是抽象类,但是抽象类中不一定包含抽象方法

final关键字
final可以修饰变量,表示变量的值不可变(常量)
final可以修饰方法,表示方法不可以被重写
final可以修饰类,表示类不可以被继承

你可能感兴趣的:(关键字)