4、static
static (静态的),用来修饰成员。
一、特点:
1、被修饰的方法或变量随着类的加载而加载
2、优先于对象存在
3、被所有的对象共享
4、除了可以被对象调用还可以被类名直接调用
二、类变量、成员变量、局部变量
1、成员变量存在于类中,类变量也存在于类中但被static所修饰,局部变量存在于方法中或语句中
2、成员变量随着对象的建立而存于堆内存中,随着对象的消失而消失,类变量存于发放区,随着类的消失而消失,局部变量随着方法的结束消失
三、使用:
1、出现共享数据时可以使用静态变量
2、功能内部没有访问到非静态数据时可以使用静态的方法
3、静态代码块 static{执行语句} ,随着类的加载而加载,只执行一次,优先于主函数,用于给类初始化、
四、加载顺序:
1、加载类,执行静态代码块给类进行初始化
2、在内存中开辟空间,分配内存地址
3、在堆内存中建立对象特有属性,进行默认初始化
4、对属性进行显示初始化
5、对象构造代码块初始化
6、相应的构造函数初始化
7、内存地址赋给栈内存中的变量
4、static的更多相关文章
- Java关键字final、static
一.final根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方法和变量.你可能出于两种理解而需要阻止改变:设计或效率. final ...
- 读书笔记:const和readonly、static readonly 那些事
C#中表示不变的量(常量)的两种形式:const 和readonly const 是静态常量 readonly 是动态常量 严格的来讲:const 应该称为常量 而readonly 则应称为只读变量. ...
- const、static和extern的正确使用方式
我们在看一些大牛的第三方时,里面会出现很多const.static和extern,尤其是const和static,const和extern的结合使用,直接令很多小伙伴懵逼了,今天就详细讲解一下这三个关 ...
- 【转】Java关键字final、static使用总结
转自:http://lavasoft.blog.51cto.com/62575/18771/ Java关键字final.static使用总结 一.final 根据程序上下文环境, ...
- 《OOC》笔记(1)——C语言const、static和extern的用法
<OOC>笔记(1)——C语言const.static和extern的用法 C语言中const关键字用法不少,我只喜欢两种用法.一是用于修饰函数形参,二是用于修饰全局变量和局部变量. 用c ...
- java基础1.0::Java面向对象、面向对象封装、抽象类、接口、static、final
一.前言 一直以来都是拿来主义,向大神学习,从网上找资料,现在就把自己在工作中和学习中的所理解的知识点写出来,好记星不如烂笔头,一来可以作为笔记自己温习,二来也可以给走在求学之路的同学们一点参考意见, ...
- Java关键字final、static使用总结
Java关键字final.static使用总结 一.final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方 ...
- Unit04 - 继承的意义(下) 、 访问控制 、 static和final
Unit04 - 继承的意义(下) . 访问控制 . static和final 1.方法的重写(Override):重新写.覆盖 1)发生在父子类中,方法名称相同,参数列表相同,方法体不同 2 ...
- C#基础知识系列七(base、this、new、override、abstract、virtual、static)
前言 本文主要来讲解一下C#中,自己觉得掌握的不怎么样或者用的不多,不太熟悉的关键字,主要包括base.this.new.override.abstract.virtual以及针对static字段和s ...
- 转!Java关键字final、static使用总结
Java关键字final.static使用总结 一.final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方法和变量.你可 ...
随机推荐
- Install rapyuta client on Ubuntu14.04
# -Rapyuta-installation-in-Ubuntu14.04-LTS-Trusty-This gzip folder is a tested version which can ins ...
- hdu4779 组合计数+dp
提交 题意:给了n*m的网格,然后有p个重型的防御塔,能承受1次攻击,q个轻型防御塔不能接受任何攻击,然后每个防御搭会攻击他所在的行和所在的列,最后求在这个网格上放至少一个防御塔的方案数, 我们枚举 ...
- Kettle使用MySQL作为资源库报错解决方法
使用Kettle5.0.1,安装的是MySQL5.1.JDK1.6,在\data-integration\lib目录里添加mysql的JDBC包mysql-connector-java-5.0.8-b ...
- 03-python3.5-模拟购物车流程--更新追加细节注释功能
03-python3.5-模拟购物车流程--更新追加细节注释功能: 模拟购物车更新脚本: #!/usr/bin/env python #-*- coding: utf-8 -*- #__author_ ...
- python,Day2,基础 2
list和dict list是一种有序的集合,可以随时添加和删除其中的元素. 例如: >>>classmates = ['eason','grace','alice'] >&g ...
- Linux 磁盘挂载分区
举例说明: 新增磁盘的设备文件名为 /dev/vdb 大小为100GB. #fdisk -l 查看新增的的磁盘 1.对新增磁盘进行分区 #fdisk /dev/vdb 按提示操作 p打印 n新增 d ...
- 随手记一 2018/04/23 session和cookie的区别
1.cookie存放在客户端的浏览器上,session存放在服务器上 2.cookie安全性不高,可以通过分析存放在本地的cookie并且进行cookie欺骗 3.session会在一定时间内保存在服 ...
- Type Conversion
文章著作权归作者所有.转载请联系作者,并在文中注明出处,给出原文链接. 本文原更新于作者的github博客,这里给出链接. 什么是转换 转换是接受一个类型的值并使用它作为另一个类型的等价值的过程.转换 ...
- Ruby学习笔记之升级ruby的版本
升级ruby版本,有时候安装ruby的版本过低,需要进行升级,例如安装在centos6.7安装fpm需要ruby版本在1.9以上. 0x00 主机环境如下 [root@test ~]# cat /et ...
- 7步快速解决SQLServer数据库(2008版)重装问题
最近遇到了鼠标双击启动不了数据库的问题,根据事件管理器和自己的最近的使用情况初步判断估计是自己在用360误伤了数据库(哭) 没有办法只好重新安装一下了,参考了网上的一些大神们的教程然后自己实战操作一下 ...