黑马程序员技术交流社区

标题: 关键字final,super,static,this作用 [打印本页]

作者: 小白    时间: 2012-1-10 13:18
标题: 关键字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;
}
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2