首页 > 代码库 > 52 面向对象static关键字的特点

52 面向对象static关键字的特点

static 关键字的特点

  随着类的加载而加载 

  优先于对象存在

  被类的所有对象共享

  

什么时候用Static静态?

  如果某个成员变量是被所有对象共享的,那么它就应该被定义为静态的

  共性用静态;

 

可以通过类名调用

  其实它本身也可以通过对象名调用.

  推荐使用类名调用

  静态修饰的内容一般称为 与类相关的,类成员

 

static静态使用内存图

技术分享

 

static 的注意事项

  在静态方法中是没有this关键字的

   如何理解 

    静态是随着类的加载而加载的

    静态比对象优先存在

  

  静态方法只能访问静态成员变量和静态的成员方法

    静态方法

      成员变量,只能访问静态的变量

      成员方法,只能访问静态的成员方法

    非静态方法:

      成员变量 可以是静态的 也可以是非静态的

      成员方法: 可以是静态的成员方法,也可以是非静态的成员方法

    简单记:

      静态只能访问静态

 

静态变量和成员变量的区别

  内存位置不同  静态变量在方法区的静态区,成员变量在堆内存中

  所属不同  静态变量属于类,成员变量属于对象

  出现时间不同, 静态变量随类出现而出现,类消失而消失 

  成员变量,随对象的消失消失,创建对象时存在.

 

主方法的格式

public void static main(String agrs[]){

 

// public 被 jvm调用,所以权限要足够大

// static  被jvm 调用,不需要创建对象,直接类名.调用即可

//  void  被jvm调用,不需要任何的返回值

//  main 只有这样写才能被jvm调用  main不是关键字

//String[] args  以前是用来接收键盘录入的

}

 

52 面向对象static关键字的特点