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


关键字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;}}
【关键字final,super,static,this有什么作用?用法如何】

    推荐阅读