static关键字:

package com.dingding.staticdemo;

class Person{
    String name;
    private static String country = "北京";
    public Person(String name){
        this.name = name;
    }
    
    
    public static String getCountry() {
        return country;
    }


    public static void setCountry(String country) {
        Person.country = country;
    }


    public void tell(){
        System.out.println("姓名:"+name+" 出生地:"+country);
    }
}
public class StaticDemo01 {

    public static void main(String[] args) {
        Person.setCountry("上海");//类方法(static)一般用于所用的实例对象都一样的值的情况
        Person p1 = new Person("张三");
        p1.tell();
        
        Person p2 = new Person("李四");
        p2.tell();
        
        Person p3 = new Person("王五");
        p3.tell();
    }

}

 

运行结果:

姓名:张三 出生地:上海
姓名:李四 出生地:上海
姓名:王五 出生地:上海

 

分析:

1、类方法、类变量(static)一般用于所用的实例对象都是一样的值的情况。

2、在main()方法中,代码Person.setCountry("上海");是声明静态,所以它要在实例化前进行调用

3、类变量的特点:所有对象和类共同拥有这个属性。