static特点

本文记录Java学习过程中遇到的static的特点~

  • 被static修饰的成员变量属于类,不属于这个类的某个对象。(也就是说,多个对象在访问或修改static修饰的成员变量时,其中一个对象将static成员变量值进行了修改,其他对象中的static成员变量值跟着改变,即多个对象共享同一个static成员变量);

示例代码:

class Demo {
    public static int num= 100;
}

class Test {
    public static void main(String[] args) {
        Demo d1 = newDemo();
        Demo d2 = newDemo();
        d1.num = 200;
        //结果为200
        System.out.println(d1.num);
        //结果为200
        System.out.println(d2.num);
    }
}
  • 被static修饰的成员可以并且建议通过类名直接访问。

访问静态成员的格式:

类名.静态成员变量名
类名.静态成员方法名(参数)
对象名.静态成员变量名       ------不建议使用该方式,会出现警告
对象名.静态成员方法名(参数)     ------不建议使用该方式,会出现警告

示例代码:

class Demo {
    //静态成员变量
    public static int num= 100;
    //静态方法
    public static void method(){
        System.out.println("静态方法");
    }
}

class Test {
    public static void main(String[] args) {
        System.out.println(Demo.num);
        Demo.method();
    }
}

标签: none