java基础_static关键字

package java_test;
/*
 * static关键字作用:是一个修饰符,用于修饰成员(成员变量,成员方法)
 * 被static修饰后的成员变量只有1份
 * 当成员被static修饰之后,多了一种访问方式,除了可以被对象访问,还可以被类名直接调用(类名.静态成员)
 * */    
/*static特点:
 * 1.随着类的加载而加载
 * 2.优先于对象的存在
 * 3.被所有的对象所共享的
 * 4.可以直接被类名所调用
 * 存放位置:
 * 类变量随着类的加载而存在于data内存区的
 * 实例变量随着对象的建立而存在于堆内存
 * 
 * 生命周期:
 * 类变量生命周期最长,随着类的消失而消失
 * 实例变量生命周期比类变量短,随着对象的消失而消失
 * 
 * 方法注意事项:
 * 1.静态方法只能访问静态成员
 * 2.非静态方法既能访问静态成员(成员变量,成员方法)也能访问非静态的成员
 * 3.静态的方法中是不可以定义this和super关键字的
 * 因为静态优先于对象存在,所以静态方法不可以出现this super
 * */
public class A6_34 {
    public static void main(String[] args){
        Teacher a=new Teacher();
        Teacher.print();
    }
}
class Teacher{
    static String name;
    int age;//实例变量
    static String country;//静态变量(类变量)
    static void print(){
        String AA="你好时间";
        System.out.println(AA);
    }
}

什么时候使用静态
 从两方面入手:
 1.什么时候使用静态的成员变量:
 当属于同一个类的所有对象出现共享数据时,需要将存储这个共享数据的成员用static修饰
 2.什么时候使用静态方法:
 当功能内部没有访问到非静态的成员时(对象特有的数据),那么该功能可以定义成静态的

原文地址:https://www.cnblogs.com/youning/p/6758371.html