zoukankan      html  css  js  c++  java
  • static

    业务逻辑:声明一个变量用于统计个数,这个变量应该被类的实例共享(可以被所有的对象访问);

                   所以这个变量应该放在方法区。

    所以这样的变量应该由static来声明

    static可以修饰变量、方法、代码块和内部类

    static属性属于这个类所有,即由该类创建的所有对象共享同一个static属性。

    可以在对象创建后通过  对象名.属性名  和 类名.属性名  两种方式来访问(推荐 类名.属性名这种方式)。也可以在没有创建任何对象之前通过类名.属性名的方式来访问

    static方法也可以通过对象名.方法名和类名.方法名两种方式来访问

    static代码块:当类被第一次使用时(可能是调用static属性和方法,或者创建其对象)执行静态代码块,且只被执行一次,主要作用是实现static属性的初始化

    static内部类:属于整个外部类,而不是属于外部类的每个对象。不能访问外部类的非静态成员(变量或者方法),.可以访问外部类的静态成员

    static变量和非static变量的区别(都是成员变量,不是局部变量)

    1.在内存中份数不同

    不管有多少个对象,static变量只有1份。对于每个对象,实例变量都会有单独的一份

    static变量是属于整个类的,也称为类变量。而非静态变量是属于对象的,也称为实例变量

    2.在内存中存放的位置不同

    静态变量存在方法区中,实例变量存在堆内存中*

    3.访问的方式不同

    实例变量:对象名.变量名stu1.name="小明明";

    类名.变量名Student.schoolName="东三旗小学";

    4.在内存中分配空间的时间不同

    实例变量:创建对象的时候才分配了空间。静态变量:第一次使用类的时候

               

  • 相关阅读:
    Chapter 4: Using Custom Property Types
    Chapter 2: Connecting to C++ Methods and Signals
    C++ Extensions: Reference examples
    qt exec
    qt component desktop
    Qt事件处理机制
    Tutorial: Writing QML Extensions with C++
    label for
    (一) HTTP 1.1支持的状态代码
    一些常用的特殊字符
  • 原文地址:https://www.cnblogs.com/zhangxiong-tianxiadiyi/p/10742479.html
Copyright © 2011-2022 走看看