zoukankan      html  css  js  c++  java
  • Java 中静态变量和实例变量区别

    Java 中静态变量和实例变量区别

    •  静态变量属于类,该类不生产对象,通过类名就可以调用静态变量。
    •  实例变量属于该类的对象,必须产生该类对象,才能调用实例变量。

    在程序运行时的区别:

    • 实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量。
    •  静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何实例对象,静态变量就会被分配空间,静态变量就可以被使用了。

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

    例如,对于下面的程序,无论创建多少个实例对象,
    永远都只分配了一个 staticInt 变量,并且每创建一个实例对象,这个 staticInt 就会加 1;但是,每创建一个实例对象,就会分配一个 random,
    即可能分配多个 random ,并且每个 random 的值都只自加了1次。

    public class StaticTest {
        private static int staticInt = 2;
        private int random = 2;
    
        public StaticTest() {
            staticInt++;
            random++;
            System.out.println("staticInt = "+staticInt+"  random = "+random);
        }
    
        public static void main(String[] args) {
            StaticTest test = new StaticTest();
            StaticTest test2 = new StaticTest();
        }
    }
  • 相关阅读:
    hdu 1028 Ignatius and the Princess III (n的划分)
    CodeForces
    poj 3254 Corn Fields (状压DP入门)
    HYSBZ 1040 骑士 (基环外向树DP)
    PAT 1071 Speech Patterns (25)
    PAT 1077 Kuchiguse (20)
    PAT 1043 Is It a Binary Search Tree (25)
    PAT 1053 Path of Equal Weight (30)
    c++ 常用标准库
    常见数学问题
  • 原文地址:https://www.cnblogs.com/chengdabelief/p/6576412.html
Copyright © 2011-2022 走看看