静态修饰符static,类中的常量定义修饰符

static可以用来区分成员变量、方法是属于类本身还是属于类实例化后的对象。

有static修饰的成员属于类本身没有static修饰的成员属于类的实例


静态变量仅在局部函数域中存在,但当程序执行离开此作用域时,其值并不丢失

static是一个修饰符,用于修饰成员(成员变量和成员函数)


静态成员随着类的加载而加载。

静态成员优先于对象存在。

静态成员被所有对象所共享

静态成员多了一个中调用方式,可以被类名直接调用。


静态的优缺点

优点: 静态成员多了一种调用方式。可以直接被类名调用 格式 :类名.静态成员。也可以被对象调用。 

弊端 : 静态方法只能访问静态成员,出现了访问局限性。


静态修饰的数据对象共享的数据,存放在方法区的静态区中。 

非静态的数据,是每一个对象特有数据,存放在对象的所属的堆内存中。


当成员变量被静态修饰后,和非静态成员变量的区别:

静态变量也称为类变量,也就是直接可以被类名调用的变量。这个变量是所属于类的。 

非静态变量成为成员变量,或者实例变量,是被对象调用的,是所属具体对象的。

静态变量随着类的加载而加载,也意味着随着类的消失而消失。生命周期最长。 

实例变量,随着对象的创建而加载,随着对象的消失而消失。按照对象的生命周期而存在。

静态变量存储在方法区的静态区中。 

实例变量存在于对象所属的堆内存中。

静态变量数据,被所有对象所共享。 

实例变量是对象中的特有数据

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,142评论 1 32
  • 整理来自互联网 1,JDK:Java Development Kit,java的开发和运行环境,java的开发工具...
    Ncompass阅读 1,555评论 0 6
  • 考虑一千次,不如去做一次! 犹豫一万次,不如实践一次! 华丽的跌倒,胜过无谓的徘徊! 现在的人都很焦虑,但又眼高手...
    d7a6922211c6阅读 127评论 0 0
  • 不谋全局者,不足以谋一域;不谋一世者,不足以谋一时…… 勿用行动上的勤奋来掩饰思维上的懒惰…… 所谓“笨”,就是每...
    Jimmy_juewei阅读 158评论 0 0
  • 在过去,我总是天真地以为,真心能换来真心。于是就掏心掏肺地对所有人好,结果常常把自己弄得伤痕累累。最后...
    何以长相思阅读 1,403评论 0 2