static、final、this、super的使用

来源:互联网 发布:淘宝hd降级 编辑:程序博客网 时间:2024/06/05 16:05

static变量:一个类在加载到内存时,静态变量只初始化一次,即所有对象的静态变量在内存中都只有一个存储位置,                         每个对象的静态变量都指向内存中同一个地址,它是在所有的对象之间共享的数据。

非static变量:每个对象为内部的每个非静态的变量分配独立的存储空间。

static可以修饰成员变量、成员常量和成员方法,不能修饰成员方法或构造方法内部的变量。

static方法与普通方法的区别:(1)调用起来方便;

                                                (2)静态方法内部只能使用静态的成员变量。

静态代码块:位于类声明的内部,方法和构造方法的外部,在该类被使用时执行一次,以后再也不执行。主要是对类                       进行初始化。

//StaticBlock.java

public class StaticBlock{

            static{

              System.out.print("静态代码块!");

                    }

}      


final数据:即常量。只能赋值一次。

final方法:不能被覆盖,即不能再子类的内部重写该方法。故不作覆盖判断,提高执行速度。

final类:该类不被继承,故没有子类。final类内部的每个方法都是final方法。

this关键字:


this可以引用构造方法:需要注意的是在构造方法内部使用this关键字调用其他的构造方法时,调用的代码只能出现在                                       构造方法内部的第一行可执行代码。

使用this代表自身对象

使用super关键字可以在子类中引用父类中的内容,比如父类的构造方法、成员方法、成员变量。

super调用构造函数的代码只能出现在子类构造方法中的第一行可执行代码,且不能和this调用构造方法的代码一起使用。

当子类的成员方法覆盖了父类的成员方法,需要在子类内部调用父类中北覆盖的方法,需要super关键字。

注意:this和super都是非静态的,不可以在静态方法内部使用。

                         

0 0
原创粉丝点击