zoukankan      html  css  js  c++  java
  • static的作用

    一、静态局部变量

      1.static修饰的局部变量,不像其他局部变量一样函数退出时就消失,它的存储于全局区,生命周期是整个文件;

      2.但是静态局部变量的作用域还是和其他局部变量一样在函数中,只能在该函数中调用,退出函数后还存在但不能使用;

      3.在声明时如果没有初始化,编译器会将它自动初始化为0。

    二、静态全局变量:

      1.静态全局变量只能在本文件中访问,其他文件不可访问;

      2.其他文件中可以定义与它同名的变量,互不影响。

    三、静态函数

      1.静态函数只能在声明它的文件中可见,其他文件中不能使用该函数;

      2.其他文件中可以定义与它同名的函数,互不影响。

    四、静态属性

      1.static修饰的属性称为静态属性,静态属性属于类而非某个对象,无论实例化了多少个对象,它只有一份;

      2.任何一个该类的对象都可以对它操作,一个对象改变了它的值,其他对象中的也会改变;

      3.所以,就算没有实例化对象,也可以直接操作静态数据成员;

      4.相当于加了一个类约束和访问控制属性限制的全局变量,表示只能在这个类里面使用(作用域),它存储(生命周期)在全局区;

      5.静态属性必须在类外定义和初始化;

      5.和普通数据成员一样,静态数据成员也遵从public, protected, private访问规则;

      6.初始化格式:数据类型 类名::静态成员名=值 (int Class::num=0);

      7.访问方式:① 类对象名.静态成员名 (cla.num);

            ② 类类型名::静态成员名 (class::num);

    五、静态成员函数

      1.static修饰的函数称为静态函数,静态函数也是属于整个类,而不是某个对象;

      2.静态成员函数没有隐藏this指针;

      3.它无法访问属于类对象的非静态属性,也无法调用非静态成员函数;

      4.只能访问静态属性  和  调用静态函数;

      5.态函数其实是加了类约束 及 访问控制属性限制的 全局函数。

  • 相关阅读:
    JDBCj简介
    HttpStatus各种状态
    centos7安装docker并安装jdk和tomcat(常用命令)
    使用递归算法结合数据库解析成java树形结构
    大型网站系统架构的演化
    虚拟机下克隆3个centos系统并配置IP访问网络(转载)
    docker安装方法(常见安装出错问题汇总)
    Vmware虚拟机三种网络模式详解
    谈谈渲染,玩玩nginx——前后端分离,转发请求到Tomcat的尝试
    nginx实现wap移动端和PC端业务分离
  • 原文地址:https://www.cnblogs.com/jiangyu0331/p/11643814.html
Copyright © 2011-2022 走看看