zoukankan      html  css  js  c++  java
  • Java-Study

    java中static用法:

    static :静态的,用于修饰成员(成员变量,成员方法);

    1. 被static所修饰的变量或者方法会储存在数据共享区;

    2. 被static所修饰的成员变量只有一份;

    3. 当成员被static修饰之后,可以被对象调用,还可以被类名调用(类名.静态成员)

    static特点:

    1. 随着类加载而被加载;

    2. 优先于对象存在;

    3. 被所有对象共享;

    4. 被static修饰的变量成为静态变量(类变量)或者实例变量;

    5. 生命周期:

    (1)类变量周期生命最长,随着类的消失而消失;

    (2)实例变量生命周期比类变量短,它是随着对象的消失而消失;

    6. 方法注意事项:

    静态的方法只能访问静态的成员;

    非静态方法既能访问静态成员(成员变量,成员方法)又能访问非静态成员;

    局部变量不能被static修饰;

    静态方法中是不可以定义this、super关键字的,因为静态优先于对象存在,

     实例变量和成员变量区别:

    例如:定义一个类:

    class  Test{

        public static int num;

        public  int  temp;

      如果想访问temp属性,就必须先创建一个Test对象,才能访问: Test  a=new Test();

    a.temp:实例成员变量。

    如果想访问num的话,不用创建Test的实例就可以访问,Test.num 这就是类成员变量

    主要区别:访问需不需要创建对象,对于类成员变量,所有对象是共享一个变量。

    静态成员:静态类中的成员加入static修饰符,即是静态成员.可以直接使用"类名.静态成员名"访问此静态成员,因为静态成员存在于内存,非静态成员需要实例化才会分配内存,所以静态成员 函数不能访问非静态的成员..因为静态成员存在于内存,所以非静态成员函数可以直接访问类中静态的成员.

    非静态成员:所有没有加Static的成员都是非静态成员,当类被 实例化之后,可以通过实例化的类名进行访问..非静态成员的生存期决定于该类的生存期..而静态成员则不存在生存期的概念,因为静态成员始终驻留在内存中..

  • 相关阅读:
    图的深度遍历
    数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历

    满汉全席
    2-sat(模板)
    2-sat
    花匠
    维护序列NOI2005
    序列终结者
    杨辉三角
  • 原文地址:https://www.cnblogs.com/yinfei/p/12260648.html
Copyright © 2011-2022 走看看