[Java学习]面向对象-super关键字;final关键字

super关键字

super代表的是当前子类对象中的父类型特征,可以看做是this的一部分。与this不同,不是引用,不存储对象内存地址。

super可以用在什么位置

1 可以用在成员方法中。不能用在静态方法中。

使用场景:

子类和父类都有某个数据,如果要在子类中访问父类中的数据,需要使用super(如super.name)。(默认是this,即this.name , 访问的是子类中的数据)。

2 可以用在构造方法中。
语法:
super(实参)
一个构造方法第一行如果没有显示地调用this()、super(),则默认调用super().

作用:
通过子类的构造方法去调用父类的构造方法,目的是给子类对象中的父类型特征赋值。

final关键字

  • final修饰的类无法被继承。

  • final修饰的方法无法被覆盖。

  • final修饰的局部变量,一旦赋值,不可改变。

  • final修饰的成员变量(在构造函数完成前)必须被显式地初始化。因为final修饰的成员变量显式初始化,所以每一个类对象的该成员的值相同,没有必要存储多份,故常与static联用常用来表示常量(即值不可以再改变的变量)。注意Java规范中常量要全部大写。

原文地址:https://www.cnblogs.com/coding-gaga/p/10462633.html