zoukankan      html  css  js  c++  java
  • JAVA 静态成员 static

    static关键字


    一、作用:是一个修饰符,用于修饰成员(成员变量,成员方法)
    1、被static 修饰后的成员变量只有一份
    2、当成员被static修饰之后,多了一种访问方式,除了可以被对象调用之外还可以被类名直接调用(类名.静态成员)


    二、static的特点:
    1、随着类的加载而被加载
    2、优先于对象的存在
    3、被所有的对象所共享的
    4、可以直接被类名做调用

    三、存放位置:
    1、静态成员属性(类变量)随着类的加载而存在于data内存区。
    2、普通成员属性随着对象的建立而存在于堆内存。

    四、生命周期:
    1、静态成员(类变量)生命周期最长,随着类的消失而消失
    2、非静态成员(实例变量)生命周期比静态成员短,随着对象的消失而消失

    五、方法的注意事项:
    1、静态的方法只能访问静态的成员
    2、非静态的方法即能访问静态的成员(成员属性,成员方法)也能访问非静态的成员
    3、今天方法中是不可以定义 this、super关键字,因为静态优先于对象存在,所以静态方法不可以出现this

    class G{
        String name;
        int age;    //成员属性(另一种叫法(实例变量)
        static String country;    //静态成员属性(另一种叫法:类变量)
        static void jt(){
            System.out.println(country);    //静态方法里面访问静态成员属性时,不能使用this关键字,不能访问非静态成员属性。
        }
    }
    
    public class Index{
        public static void main(String[] args){
            G A    =    new G();
            A.country    =    "小明";
            G B =    new G();
            System.out.println(A.country);    //对象A,定义了country成员属性的值,可以输出,这是常规的方式
            System.out.println(B.country);    //对象B,没有定义country成员属性的值,也可以输出
            System.out.println(G.country);//类名.static成员,也可以输出
    
            B.jt();    //调用静态方法
        }
    }
  • 相关阅读:
    SQL SERVER的检查点checkpoint
    MySQL备份说明
    声明对象和创建对象的区别
    getParameter的用法总结
    Jsp的九大对象,七大动作,三大指令
    为什么内部类访问的外部变量需要使用final修饰
    java synchronized详解
    网上选课系统需求说明书
    第三次作业
    第二次作业
  • 原文地址:https://www.cnblogs.com/phpyangbo/p/java-static.html
Copyright © 2011-2022 走看看