您的位置:首页 > 编程语言 > Java开发

Java中的static、final、this、super

2006-07-05 20:58 309 查看
一.static

静态方法:
我们在写System.in的时候并没有用new去创建它,这是因为它是一个静态的方法,这个意味着告诉Java编译器,我这个方法不需要创建一个此类的对象即可使用。一般说来,静态方法常常为应用程序中的其他类提供一些实用工具所用,Java的类库中大量的静态方法也是出于这个目的的。

静态变量:
静态变量也叫类变量,所有的此类实例共享此静态变量,也就是说在类装载时,只分配一块存储空间,所有此类的对象都可以操控此块存储空间(final不讨论)。在虚拟机加载的时候,类变量会优于其他非static变量。在继承时候,会先加载化父类的static变量,然后是子类的。

二.final
final成员:
在定义类中变量的时候加上了final,表示一旦被初始化便不可改变,这里不可改变的意思对基本类型来说是其值不可变,而对于对象变量来说其引用不可再变。我们也经常称为常量(常量命名规范为大写)。

final方法:
将方法声明为final,那就说明你已经知道这个方法提供的功能已经满足你要求,不需要进行扩展,并且也不允许任何从此类继承的类来覆写这个方法,但是继承仍然可以继承这个方法,也就是说可以直接使用。

final类:
当你将final用于类身上时,表示类是无法被任何人继承的,那也就意味此类的设计已被认为很完美而不需要进行修改或扩展。

三.this和super
Java中this通常指当前对象,super则指父类的。当你想要引用当前对象的某个方法或某个成员,可以利用this来实现这个目的。this的另一个用途是调用当前对象的另一个构造函数。而如果引用父类的某个东西,则是super。在继承的过程中,如果子类的方法覆盖了父类的方法,想调用父类被覆盖的方法,就得用到super。其中比较特殊的是在构造函数中,this和super不是用“.”连接一个方法或成员,而是用super后加参数的是用来调用父类中具有相同形式的构造函数(例:super()),this后加参数则调用的是当前具有相同参数的构造函数(例:this())。在很多地方,有this更能使程序读的更流畅些。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: