什么是静态,静态有什么作用呢?
静态
设置一个类,这个类有很多对象,很多对象的其中一个属性,属性值是一样的,此时每个对象都有个内存空间去存储属 性值 坏处:1)空间浪费 2)如果想要将这个属性值进行修改,需要将所有对象的属性值都修改一遍,操作复杂麻烦
设置一个静态
设置一个类,这个类有很多对象,很多对象的其中一个属性,属性值是一样的,可以将这个属性统一存放在一个地方, 让所有对象共享这个数据,此时,可以将该属性用static修饰
案例:
人类 姓名 年龄 国籍 创建多个对象
总结
静态:
1)可以修饰属性和方法,即可以修饰类成员(不能修饰构造方法)
2)静态修饰的数据存储在方法区中的静态区
3)静态修饰的数据先于对象而存在,所以,静态数据,可以不通过对象去获取
4)静态修饰的成员可以通过类名直接获取:eg:People.country
静态修饰的属性
定义格式:访问修饰词 static 数据类型 属性名;
–》private和static一起使用?编辑上是可以的,但是通常情况下不这样设置,除非是单例类,因为在其 他类中无法访问该属性了 作用:所有类的共享数据
获取:1)类名访问:类名.属性名 2)对象名.属性名
静态的特点:
1)静态方法可以调用静态方法,不能调用非静态方法
2)静态方法可以访问静态属性,不能访问非静态属性
3)非静态方法可以访问静态的和非静态的
**静态变量和非静态变量的区别 **
1)所属不同:静态变量属于类 非静态变量属于对象
2)内存存储位置不同:
非静态:在堆中
静态:在方法区中的静态区
3)生命周期不同
非静态:和对象同寿,对象创建时存在,对象成为垃圾,消亡
静态:和类同寿,类加载时存在,类消亡时消亡(项目结束了,内存消失) 缺陷:静态数据不宜过多,因为占内存
4)访问方式:
非静态:对象访问
静态:类名和对象名都可以访问
访问顺序
创建对象的访问顺序
1)加载属性 2)
执行构造方法
有父类子类 创建对象的访问顺序
1)父类的属性
2)父类的构造方法
3)子类的属性
4)子类的构造方法
什么是静态,静态有什么作用呢?相关推荐
- static(静态)变量有什么作用?
在C语言中,关键字static的意思是静态,他的主要作用有两个: 1.在函数体内 静态变量具有"记忆"功能,即一个被声明为静态的变量只会被初始化一次,该函数在调用过程中,其值保持不 ...
- java静态初始化块的作用_Java 中的 static 使用之静态初始化块
方法不在main函数里面不会被执行吗? public class HelloWorld { String name; // 声明变量name String sex; // 声明变量sex static ...
- java 静态代码块的作用_Java中什么是静态代码块,有什么作用?
在java中使用static关键字声明的代码块.静态块用于初始化类,为类的属性初始化.每个静态代码块只会执行一次.静态代码块随着类加载而加载,有多个静态代码块的,按代码块前后顺序加载. 由于JVM在加 ...
- 【4002】通过html做一个注册的静态静态页面(不含css)。
学习目标:[4002]通过html做一个注册的静态页面(不含css). [ 1]学习前端第一天掌握 html(input.label等标签)入门知识,梳理今天的学习知识点: [ 2]通过已学知识做静态 ...
- python 爬取静态 静态 静态网页
该文章是我在练习基础是写的一个小项目,爬取的是一个网站的图片(妹子才是学习的动力).其中用到了线程和xpath等知识的应用,属于小白入门篇,各位大佬要是在浏览过程中发现可以优化的地方尽情留言,先给各位 ...
- Java 中静态代码块 static的作用及用法
java静态代码块的作用: Java静态代码块中的代码会在类加载JVM时运行,且只被执行一次,也就是说这些代码不需要实例化类就能够被调用.一般情况下,如果有些代码必须在项目启动的时候就执行的时候,就需 ...
- VS2015编译32位Opencv310(动态库+静态库,文末有下载链接)
VS2015编译32位Opencv310(动态库+静态库 编译过得,可以直接用的: http://download.csdn.net/download/longzaihuaxia/9802510 之前 ...
- 【UML 建模】UML建模语言入门 -- 静态图详解 类图 对象图 包图 静态图建模实战
发现个好东西思维导图, 最近开始用MindManager整理博客 . 作者 :万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/deta ...
- 详解静态路由(入门类)
随着宽带接入的普及,很多家庭和小企业都组建了局域网来共享宽带接入.而且随着局域网规模的扩大,很多地方都涉及到2台或以上路由器的应用.当一个局域网内存在2台以上的路由器时,由于其下主机互访的需求,往往需 ...
- 静态ip和动态ip的区别_动态IP和静态IP有哪些区别?
代理IP的动态IP和静态IP有什么区别?现在还有许多人在问. 简单说动态IP会发生变化,像工号,到不同的公司你会得到不同的工号:而静态IP是不变的,和身份证号一样.这里神鸡IP代理来给大家详细说下. ...
最新文章
- javascript中 this 指向问题
- javascript setinterval 正确的语法
- 关于DubboMain启动的真相
- C# ASP 面试题 2017
- [BZOJ2326] [HNOI2011] 数学作业 (矩阵乘法)
- 如何判断当前请求的API类型
- BZOJ 2301 Problem b(莫比乌斯反演+分块优化)
- 洛谷 P1008 [NOIP1998 普及组] 三连击
- 浅析HTTP代理原理--转
- c# 添加外部程序集相对引用问题
- spring cloud学习笔记01
- 企业全面运营管理沙盘模拟心得_企业经营沙盘模拟心得总结【精选】
- 怎么给服务器部署php探针,phpStudy学习之php探针
- MCU学习笔记_UPF
- 使用Element对话框
- 不得不会的linux账号与权限管理
- VPP协议栈学习一:snd_wnd
- Spring Boot项目@RunWith注解报错
- 怎样用office Word2003打开docx格式文档???
- iphone QQ音乐锁屏歌词实现思路