A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 林枢 黑马帝   /  2011-7-25 15:08  /  3077 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

而不能修饰外部的类

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

2 个回复

倒序浏览
黑马网友  发表于 2011-7-25 15:17:42
沙发

希望对你有帮助 了解static的用法

[color=Red][/color]static:的用法
静态方法:通常,在一个类中定义一个方法为static,那就是说,用类名而无需本类的对象即可调用此方法。静态方法常常为应用程序中的其它类提供一些实用工具所用。
静态变量:静态变量与静态方法类似。所有此类实例共享此静态变量,也就是说在类装载时,只分配一块存储空间,所有此类的对象都可以操控此块存储空间,当然对于final则另当别论了。
static定义的变量会优先于任何其它非static变量,不论其出现的顺序如何。
static{}内的代码,是用来进行显式的静态变量初始化,这段代码只会初始化一次,且在类被第一次装载时。在涉及到继承的时候,会先初始化父类的static变量,然后是子类的,依次类推。
通常一个普通类不允许声明为静态的,只有一个内部类才可以。这时这个声明为静态的内部类可以直接作为一个普通类来使用,而不需实例一个外部类。但是,不能从静态内部类的对象中访问非静态的外围类对象和方法(可访问外部静态的对象、方法)。

评分

参与人数 1技术分 +2 收起 理由
admin + 2 希望你能帮助到他!

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-7-25 16:21:52
藤椅
静态方法
    通常,在一个类中定义一个方法为static,那就是说,用类名而无需本类的对象即可调用此方法。如下所示:
class Simple{
   static void go(){
     System.out.println("Go...");
   }
}
public class Cal{
  public static void main(String[] args){
    Simple.go();
  }
}
       调用一个静态方法就是“类名.方法名”,静态方法的使用很简单如上所示。一般来说,静态方法常常为应用程序中的其它类提供一些实用工具所用,在Java的类库中大量的静态方法正是出于此目的而定义的。
静态变量
    静态变量与静态方法类似。所有此类实例共享此静态变量,也就是说在类装载时,只分配一块存储空间,所有此类的对象都可以操控此块存储空间,当然对于final则另当别论了。看下面这段代码:
class Value{
  static int c=0;
  static void inc(){
    c++;
  }
}
class Count{
  public static void prt(String s)
{
    System.out.println(s);
}
  public static void main(String[] args)
{
    Value v1,v2;
    v1=new Value();
    v2=new Value();
    prt("v1.c="+v1.c+"  v2.c="+v2.c);
    v1.inc();
    prt("v1.c="+v1.c+"  v2.c="+v2.c);  
  }
}
结果如下:
v1.c=0  v2.c=0
v1.c=1  v2.c=1
由此可以证明它们共享一块存储区。static变量有点类似于C中的全局变量的概念。

评分

参与人数 1技术分 +2 收起 理由
admin + 2 不错童鞋

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马