keyword static
1. 不能通过类名来调用类的非静态成员函数
2. 类的对象可以使用静态成员函数和非静态成员函数
3. 静态成员函数中不能引用非静态成员
因为静态成员函数属于整个类, 在类的实例化对象之前就已经分配了空间, 而类的非静态成员必须在类实例化对象后才有内存空间
4. 类的非静态成员函数可以调用静态成员函数, 但反之不行
5. 类的静态成员函数必须先初始化再使用
6. 重要特点
隐藏: 当我们同时编译多个文件时, 所有未加 static 前缀的全局变量和函数都具有全局可见性
7. static 的第二个作用是保持变量的持久化
存储在静态数据区的变量会在程序刚开始运行时就完成初始化, 也是唯一一次初始化. 共有两种变量存储在静态存储区, 全局变量和 static 变量, 只不过和全局变量比起来, static 可以控制变量的可见范围, 说到底, static 还是用来隐藏的
8. static 的第三个作用默认初始化为 0, 其实全局变量也具有这一个属性, 因为全局变量也存储在静态数据区
在静态数据区, 内存中的所有字节默认都是 0x00, 某些时候, 这一特点可以减少程序员的工作量
keyword static的更多相关文章
- Java Keyword Static 学习记录
Static Java编程思想:一旦将什么东西设为static,数据或方法就不会同那个类的任何对象实例联系到一起. 特点:随着类的加载而加载,随着类的销毁而销毁. 作用:可以修饰成员变量,代码块,方法 ...
- C++ essentials 之 static 关键字
extraction from The C++ Programming Language, 4th. edition, Bjarne Stroustrup If no initializer is s ...
- iOS static
获得20条news 先实现,再提取到business 层. The static Keyword You can have a local variable retain its value thro ...
- Core Java Volume I — 4.4. Static Fields and Methods
4.4. Static Fields and MethodsIn all sample programs that you have seen, the main method is tagged w ...
- static local variable
Putting the keyword static in front of a local variable declaration creates a special type of variab ...
- static作用
C程序一直由下列部分组成: 1)正文段——CPU运行的机器指令部分:一个程序仅仅有一个副本:仅仅读,防止程序因为意外事故而改动自身指令: 2)初始化数据段(数据段)——在程序中全部 ...
- java基础-java语言中的keyword总结
keyword 1.定义:被java语言赋于了特殊含义的单词 2.用于定义基本数据类型的keyword: class interface float int long double byte ...
- "Cannot declare member function ...to have static linkage"错误
英文解释: if you declare a method to be static in your .cc file. The reason is that static means somethi ...
- Static Fields and Methods
If you define a field as static, then there is only one such field per class. In contrast, each obje ...
随机推荐
- LeetCode-344:Reverse String
This is a "Pick One" Problem :[Problem:344-Reverse String] Write a function that takes a ...
- PHP Token(令牌)设计应用
转自:http://my.oschina.net/u/912810/blog/358973 <?php class GEncrypt { protected static function ke ...
- mysql的rand函数
项目中需要动态随机生成一些固定位数的随机数,如8位,5位等. 之前看到的写法是这样 ROUND(ROUND(RAND(),5)*100000) 这样写不太准确,有几率出现4位的情况,Rand() 函数 ...
- html学习一(html简史及doctype)
html3部分 doctype(html) dtd head body 一.深入浅出HTML与XHTML的区别 HTML(HyperText Markup Language,超文本标记语言)最早的HT ...
- sql server服务看不到,显示为远程过程调用在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误10061
需要启动sql server服务 启动就可以完成登录了
- H5 input 聚焦 置顶
myFocus (e) { this.active = true function getElementTop(element){ try { var actualTop = element.offs ...
- unity, 用脚本创建mesh
创建一个空gameObject,添加Mesh Filter和Mesh Renderer两个component,再添加一个脚本createMeshScript: using UnityEngine;us ...
- 使用kubernetes创建容器一直处于ContainerCreating状态的原因查找与解决
运行容器的时候,发现一直处于ContainerCreating状态,悲了个催,刚入手就遇到了点麻烦,下面来讲讲如何查找问题及解决的 运行容器命令: [root@master- ~]# kubectl ...
- atitit.Atitit. Gui控件and面板-----服务端控件 java struts的实现最佳实践
atitit.Atitit. Gui控件and面板-----服务端控件 java struts的实现最佳实践 1. 服务器控件的类别 1 1.1. 数据控件:该类控件可细分为两种类型:数据源控件和数 ...
- html增加锚点定位
第一种方法,也是最简单的方法是锚点用<a>标签,在href属性中写入DIV的id.如下: <!DOCTYPE html><html><head>< ...