zoukankan      html  css  js  c++  java
  • 静态变量和实例变量的区别(配图解释专业术语,通俗易懂)


    1:首先在语法定义上区别:静态变量前面要加static,实例变量不用

    2:在程序运行时:

      实例变量输入对象的属性,必须创建了实例对象(如 new)才会被分配空间,才可以使用实例变量,静态变量不属于某个实例对象,而是属于类,也叫类变量,只要程序加载了类的字节码,不用创建任何实例对象就会被分配空间,就可以被使用

    3:总之,实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用。

    注意:(static)静态变量的使用也是有局限性的,一个静态方法中不能调用类中的非静态的方法和变量,static修饰的变量在类加载后在内存中只有一份内存空间,可以被一个类的所有实例对象所共享,如:总库100张票,4个窗口卖火车票,卖的都是总库里的票,无论是哪个窗口卖掉的票,总票都会减一。

    public class BainLiang {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            //直接调用测试:
            System.out.println(QuBie.staticInt);
            // System.out.println(QuBie.shiInt);//报错
            QuBie qb1 = new QuBie();
            QuBie qb2 = new QuBie();
            qb1.shiInt = 8;
            qb1.staticInt = 8;//这里改变以后,再创建的对象也是会用改过的数值
            QuBie qb3 = new QuBie();
        }
    }
    
    class QuBie {
        public static int staticInt = 0;
        public int shiInt = 0;
    
        public QuBie() {
            staticInt++;
            shiInt++;
            System.out.println("静态变量" + staticInt + "   实例变量" + shiInt);
        }
    } 

    静态变量   这种写法在生活中非常使用,如买火车票,一共100张,有4个窗口在卖,也就是说一定要公用一个资源,也就是要定义成static。

    JAVA 基本数据类型和引用数据类通过参数传递详解

    Java设计模式总汇

    (适配器、单例、静态代理、简单工厂设计模式)https://www.cnblogs.com/cmusketeer/p/8146510.html

  • 相关阅读:
    原型模式
    Object.defineProperties()和Object.defineProperty()方法
    访问器属性:setter()函数和getter()函数
    2019.7.11刷题统计
    2019.7.10刷题统计
    2019.7.9刷题统计
    2019.7.8刷题统计
    2019.7.7刷题统计
    2019.7.6刷题统计
    2019.7.5刷题统计
  • 原文地址:https://www.cnblogs.com/cmusketeer/p/7686122.html
Copyright © 2011-2022 走看看