Java中的static关键字

来源:互联网 发布:太极拳 知乎 编辑:程序博客网 时间:2024/06/18 08:45

“static方法就是没有this的方法。在static方法内部不能调用非静态方法,反过来是可以的。而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法。这实际上正是static方法的主要用途。” 
——《Java编程思想》

  1. static方法 
    main方法为什么是static的? 
    -因为程序在执行main方法的时候没有创建任何对象,只能通过类名来访问。 
    即使没有声明为static,类的构造器实际上也是静态方法。

  2. static变量 
    静态变量被所有对象所共享,在内存中只有一个副本,它仅在类初次加载时会被初始化。

  3. static代码块 
    作用:优化程序性能。 
    特性:只会在类加载的时候执行一次。


  1. static关键字会改变类中成员(变量和方法)的访问权限吗? 
    不会。

  2. 能通过this访问静态成员变量吗? 
    静态成员变量虽然独立于对象,但是不代表不可以通过对象访问,所有的静态方法和静态变量都可以通过对象访问(只要访问权限足够)。

  3. static能作用于局部变量吗? 
    Java中,static是不允许用来修饰局部变量的。

0 0