关于static关键字以及静态方法和属性的说明
2017-07-30 15:16
423 查看
因为最近在逐步复习自己之前学习过的内容,加深印象,接下来将持续更新博客的内容,首先是static的一些注意点以及理解要点:
说到static,首先要知道static可以干什么,static简单的说就是赋予一个方法或者属性一个特性,就是可以被类访问,我们知道一般一个方法或属性要被访问是通过实例化一个对象来访问的,但是经过static关键字的说明之后,这个类的所有实例都能访问到这个新值
那么,为什么static有这个作用呢?这个要从内存的角度去说明了,就拿静态方法来说,它属于类本身,在类装载的时候被装载到内存,不自动进行销毁,会一直存在于内存中,知道JVM关闭,相反的,非静态方法要通过实例化对象之后才会被分配内存,但是如果太多的属性方法赋予了static,就会占用太多的内存,影响JVM的运行
最后说明下static的用途:
1.它们在代码中的任何地方都可用,不需要在对象间传递类的实例,也不需要将实例存放在全局变量中,就可以访问类中的方法;
2.类的每个实例都可以访问类中定义的静态属性,所以你可以利用静态属性来设置值,该值可以被类的所有对象使用;
3.不需要实例化对象就能访问静态属性或方法,这样我们就不用为了获取一个简单的功能而实例化对象了
说到static,首先要知道static可以干什么,static简单的说就是赋予一个方法或者属性一个特性,就是可以被类访问,我们知道一般一个方法或属性要被访问是通过实例化一个对象来访问的,但是经过static关键字的说明之后,这个类的所有实例都能访问到这个新值
那么,为什么static有这个作用呢?这个要从内存的角度去说明了,就拿静态方法来说,它属于类本身,在类装载的时候被装载到内存,不自动进行销毁,会一直存在于内存中,知道JVM关闭,相反的,非静态方法要通过实例化对象之后才会被分配内存,但是如果太多的属性方法赋予了static,就会占用太多的内存,影响JVM的运行
最后说明下static的用途:
1.它们在代码中的任何地方都可用,不需要在对象间传递类的实例,也不需要将实例存放在全局变量中,就可以访问类中的方法;
2.类的每个实例都可以访问类中定义的静态属性,所以你可以利用静态属性来设置值,该值可以被类的所有对象使用;
3.不需要实例化对象就能访问静态属性或方法,这样我们就不用为了获取一个简单的功能而实例化对象了
相关文章推荐
- 关于static关键字的使用以及与成员方法、成员属性的总结
- Java static关键字以及Java静态变量和静态方法
- java基础之----静态代码块和静态方法、以及static 关键字
- 关于 webservice 或者 wcf 提供的方法,在引用后类属性后自动添加 k__BackingField 关键字的说明
- 关于 webservice 或者 wcf 提供的方法,在引用后类属性后自动添加 k__BackingField 关键字的说明
- PHP里边用Static关键字来定义静态属性和方法
- 关于this和super关键字为什么不能再static方法中或者静态代码块中
- static 关键字 静态属性与方法 -> :: self $this 区别 可见性的关键字区别
- PHP 类的静态成员属性与静态方法 static 关键字
- Java知多少(31)static关键字以及Java静态变量和静态方法
- 关于OC中self是调用属性的存取方法以及它可能出现的内存泄露情况
- php面向对象中static静态属性和静态方法的调用
- 关于java方法的重载(Overloading),覆写(Override)以及final 方法的几点说明
- 关于静态块、静态属性、构造块、构造方法的执行顺序
- 关于静态方法为什么不能被重写的一点思考以及overload的一些坑。
- java入门教程-4.7Java static关键字以及Java静态变量和静态方法
- 第十二讲 static关键字修饰属性和方法、代码块、单例设计模式、对象数组案例
- 5.Static ,protect,属性和方法,静态方法(static)和实例方法,JAVA的静态变量、静态方法、静态类
- 关于static静态的、继承、接口interface、final关键字、单例设计模式总结
- 关于volatile关键字的说明以及测试