Java中super、final关键字的使用

super关键字的使用

*SUPER关键字是为了调用父类的属性或方法!

  1. super表示父类属性
    使用:super.属性—明确表示从父类中调用属性
  2. super表示父类方法
    有两种表示方法:
    a.表示父类构造方法:
    super( );—表示调用父类无参构造方法,此时super( )可以省略。
    若调用父类的有参构造,要明确表示调用的是父类的哪个有参构造方法,例如super(方法参数);此时不能省略,且必须处于构造方法的首行。注:此时不存在this的构造器调用!
    b.表示父类被覆写的方法:
    super.方法名(参数);
    示例
    运行结果如下:
    运行结果

final关键字的使用

final关键字也成终结器,被它所修饰,值和类型都不能发生改变!

  1. final修饰属性
    被final修饰的属性就成了常量,在声明时赋值,且赋值后不能修改,常与static搭配使用。
    final修饰数据类型,不论是基本类型,还是引用类型,其值都不能变,对于引用类型来说,不变的是其存储的地址值。

  2. final修饰方法
    被final修饰的方法不能被覆写。

  3. final修饰类
    被final修饰的类不能有子类。
    注:
    数据类型转换:当使用+ 、-、*、/、%等数学运算时,遵循以下原则:只要两个操作数中,有一个是double(float/long)类型,另外一个会自动转为double(float/long)类型,并且结果也是double(float/long).否则操作数为byte、 short、 int、 char时,两个操作数均会转换成int,并且结果也为int。但是被final修饰的变量,上述类型不会发生变化。

以下是一个出错示范:
出错示范
错误提示
错误提示为:Student中的fun()无法覆盖Person中的fun()

猜你喜欢

转载自blog.csdn.net/weixin_43852903/article/details/86569843