static关键字

来源:互联网 发布:十月革命100周年 知乎 编辑:程序博客网 时间:2024/06/05 08:44

理解:

加static修饰的类成员,是由类可以直接调用的,独立于对象,是所有对象所共有的。

不加static修饰类成员,需要创建对象调用,归每个对象所有。

这也就意味着static修饰的成员:

1、不能被其对象所调用,即不能采用a.method();方式调用;

2、static方法只能调用static成员,即不能调用非static变量和方法;

3、static方法中不能使用super和this关键字;

4、static成员只有一份实例,即所有对象共享static成员,类似与全局性质;

5、static方法必须实现,不能被重写,也就不能为abstract;

public class Test {private static int a;private int b;static {Test.a = 3;System.out.println(a);Test t = new Test();t.f();t.b = 1000;System.out.println(t.b);}static {       Test.a = 4;//静态变量初始化               System.out.println(a);}public static void main(String[] args) {// TODO 自动生成方法存根}static {Test.a = 5;System.out.println(a);}public void f() {System.out.println("hhahhahah");}}

注意:在加上private、protect、public等访问权限可以限制静态成员的访问权限。例如private不能在其他类中通过类名调用该静态方法,只能在自己类中调用。

0 0
原创粉丝点击