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方法也是方便其它类对该方法的调用。
    静态方法是类内部的一类特殊方法,只有在需要时才将对应的方法声明成静态的,一个类内部的方法一般都是非静态的

  • 相关阅读:
    java操作生成jar包 和写入jar包
    jboss配置jndi连接池
    windows 域的LDAP查询相关举例
    LDAP error Code 及解决方法
    HDU 6417
    CF1299D Around the World
    codechef Chef and The Colored Grid
    Educational Codeforces Round 82 (Rated for Div. 2)
    CF1237F Balanced Domino Placements
    CF1254E Send Tree to Charlie
  • 原文地址:https://www.cnblogs.com/huanghexiang/p/11615003.html
Copyright © 2011-2022 走看看