关键字final,super,static,this有什么作用?用法如何

如题所述

  final:
  有三种用法,分别是与变量、方法和类一起使用:
  当final 与变量一起使用时,可声明常量。此后,变量的值不可以再改变;
  当final与方法一起使用时,它阻止类方法的重写;
  当final与类使用时,它阻止类的继承(该类的所有方法都是final)。

  super:
  (1)引用父类的成员:super.变量 或 super.方法([参数列])
  当然,这需要相应的访问权限
  (2)在子类构造方法中调用父类的构造方法:
  super([…]);//与this用法类似,应放在子类构造方法的第一行位置上
  请注意:父类变量的初始化只能通过调用super([…])方法,由父类来完成,子类不可能“代劳”。只有父类变量的初始化完成之后,子类才开始其新增变量的初始化工作。

  static:
  可以在类的字段、方法前加上static关键字,表明该变量、该方法是属于类的,故称为类属性或类方法。(而无static修饰的,则称为实例属性量或实例方法)
  说明:
  静态成员属于类所有,不属于某一具体对象私有;
  静态成员随类加载时被静态地分配内存空间或入口地址,通常通过 类名.静态成员 方式来访问;
  同一个类的实例方法可以访问该类的类属性、类方法;
  而类方法只能访问该类的类属性、类方法,不能直接访问实例的变量和方法,也不能使用this关键字。

  this:
  this关键字表示的是“当前对象”,当出现在类的实例方法中,代表的是调用该方法的对象;当出现在类的构造方法中时,代表的是调用该构造方法创建的对象。在下列两种情况下,必须使用this:
  方法的形式参数与类的成员变量同名:
  例如:
  class Person{
  String name;
  int age;
  public Person(String name, int age){
  this.name=name;
  this.age=age;
  }
  }

  一个类中的构造器调用同一个类中的另一个构造器:
  调用的方法:
  this([参数列表]) //处于构造器的第一行位置上
  例如:
  class Person{
  String name;
  int age;
  public Person(String name){
  this.name=name;
  }
  public Person(String name, int age){
  this(name); //调用另一构造器,必须放在第一条语句位置上
  this.age=age;
  }
  }
温馨提示:答案为网友推荐,仅供参考
相似回答