随笔 - 64  文章 - 2  评论 - 84  阅读 - 19万

静态变量和实例变量的区别(配图解释专业术语,通俗易懂)


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

 

posted on   TMusketeer  阅读(23044)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示