zoukankan      html  css  js  c++  java
  • static的用法及作用

    static可以用来修饰属性、方法和代码块。static修饰的变量属于这个类所有,既由这个类创建的所有对象共用一个static变量。通常把static修饰的属性和方法称为类属性(类变量)、类方法。不使用static修饰的属性和方法属于单个对象,通常称为实例属性(实例变量)、实例方法。使用static修饰方法的最常见的例子是我们熟悉的main()方法。下面通过一个示例学习是static的用法及使用static修饰属性和代码块,是如何分配内存空间的。代码示例如下:

     运行结果如图所示:

     从结果中可以得出以下结论:

    在加载类的过程中,完成静态变量的内存分配,再执行静态代码块,两者是在创建对象之前执行的。

    类属性、类方法可以通过类名和对象名访问,实例属性、实例方法只能通过对象名访问。

    类方法只能访问类属性和其他类方法。

    注意:

    静态方法中不能使用this和super关键字(super与继承有关)。

    我们可以通过设置断点调试的方式观察执行顺序,以此加深对static的了解。另外,在使用常量时,为了方便调用,推荐使用static来修饰。例如:

    static final String SEX_MAN="man";

    在使用时可以直接通过类名。SEX_MAN方式使用。这时称这个常量为静态变量。

    静态方法
    静态方法可以直接通过类名调用,任何的实例也都可以调用,
    因此静态方法中不能用this和super关键字,不能直接访问所属类的实例变量和实例方法(就是不带static的成员变量和成员成员方法),只能访问所属类的静态成员变量和成员方法。
    因为实例成员与特定的对象关联!这个需要去理解,想明白其中的道理,不是记忆!!!
    因为static方法独立于任何实例,因此static方法必须被实现,而不能是抽象的abstract。
    例如为了方便方法的调用,Java API中的Math类中所有的方法都是静态的,而一般类内部的static方法也是方便其它类对该方法的调用。
    静态方法是类内部的一类特殊方法,只有在需要时才将对应的方法声明成静态的,一个类内部的方法一般都是非静态的

  • 相关阅读:
    ArcGIS Engine 中的多线程使用
    Arcgis栅格时序地图制作---时间轴动态展示多期影像
    R树空间索引
    R-Tree空间索引算法的研究历程和最新进展分析
    学生表、课程表、 成绩表 、教师表sql练习
    Mysql建表出现1005错误
    MySQL数据类型详解
    数据库操作语句类型(DQL、DML、DDL、DCL)简介
    Spring MVC标签<mvc: annotation-driven />小结 原
    EasyUI Menu 菜单
  • 原文地址:https://www.cnblogs.com/huanghexiang/p/11615003.html
Copyright © 2011-2022 走看看