zoukankan      html  css  js  c++  java
  • java-static

    1.static是Java中的一个关键字,单词本身是静态的含义

    2.使用static修饰的成员成为静态成员,是属于某个类的;而不使用static修饰的成员成为实例成员,是属于类的每个对象的。

    3.一个类的成员包括:成员变量,成员方法,构造方法,代码块,内部类·;

    static可以修饰除了构造方法之外的成员(成员变量,成员方法,,代码块,内部类·);

    一一说明

    1.static修饰成员变量

    static属性属于这个类所有,即由该类创建的所有对象共享同一个static属性。

    static变量和非static变量都是成员变量,这是共同点,区别主要有:

    1).在内存中份数不同

    不管有多少个对象,static变量只有1份。对于每个对象,实例变量都会有单独的一份

    非static变量好比是水杯,1个学生1个;static变量好比是饮水机,大家共享

    2.在内存中存放的位置不同

    静态变量存在方法区中,     实例变量存在堆内存中 

    3.访问的方式不同

    实例变量: 对象名.变量名

    静态变量:对象名.变量名,不推荐如此使用;类名.变量名,推荐使用

    4.在内存中分配空间的时间不同

    实例变量:创建对象的时候才分配了空间。

    静态变量:第一次加载类的时候;

    2.static修饰成员方法

    可以通过对象名.方法名类名.方法名两种方式来访问

    ). 1.static变量
    ). 2.static方法

    总结1:static方法的作用
    访问static变量和static方法

    总结2:static方法的调用方式
    1.通过类名调用 Student.showClassRoom(); 推荐该方式
    2.通过对象名访问 stu1.showClassRoom();

    总结3:不可以
    静态方法中不可以访问非静态变量
    静态方法中不可以访问非静态方法
    静态方法中不可以访问this
    理解:加载类的时候就加载静态变量和静态方法,此时可能还没有创建对象,所以非静态变量和非静态的方法还没有分配空间,
    无法访问
    总结4:可以
    非静态方法中可以访问静态变量
    非静态方法中可以访问静态方法
    非静态方法中可以访问this
    理解:加载类的时候就已经加载静态变量和静态方法,创建对象后,非静态变量和非静态的方法才分配空间,
    此时静态变量和静态方法已经存在,可以访问

    3.static修饰代码块

    ).1.static变量
    ).2.static方法
    ).3.static代码块

    总结1:代码块
    1.位置:类中
    2.数量:多个
    3.执行顺序:依次执行
    4.执行时间:每次创建对象的时候都执行;先执行代码块,再执行构造方法
    5.作用:实际开发中很少用;
    可以将各个构造方法中公共的代码提取到代码块
    匿名内部类不能提供构造方法,此时初始化操作放到代码块中

    总结2:static代码块
    1.位置:类中
    2.数量:多个
    3.执行顺序:依次执行
    4.执行时间:第一次加载类的时候执行,只执行一次
    5.作用:给静态变量赋初始值
    实际开发中使用比较多,一般用于执行一些全局性的初始化操作
    1.创建工厂
    2.加载数据库初始信息
    .....
    总结3:一个类的成员
    三大成员
    1.成员变量(非静态、静态的)
    2.成员方法(非静态、静态的)
    3.构造方法(全部都是非静态的)
    三小成员
    4.代码块
    5.静态代码块
    * 6.内部类(非静态的,静态的)

    4.static修饰内部类

    属于整个外部类,而不是属于外部类的每个对象。不能访问外部类的非静态成员(变量或者方法),.可以访问外部类的静态成员

    5.静态导入

    import static java.lang.Math.*; 非导入类和接口,而是导入类和接口的静态成员

  • 相关阅读:
    hanoi(老汉诺塔问题新思维)
    ABP文档
    ABP文档
    ABP文档
    ABP文档
    ABP文档
    ABP文档
    ABP文档
    ABP文档
    ABP框架
  • 原文地址:https://www.cnblogs.com/zimo-bwl1029-s/p/11272486.html
Copyright © 2011-2022 走看看