有时你希望定义一个类成员,使它的使用完全独立于该类的任何对象。通常情况下,类成员必须通过它的类的对象访问,但是可以创建这样一个成员,它能够被它自己使用,而不必引用特定的实例。在成员的声明前面加上关键字static(静态的)就能创建这样的成员。如果一个成员被声明为static,它就能够在它的类的任何对象创建之前被访问,而不必引用任何对象。你可以将方法和变量都声明为static。static 成员的最常见的例子是main( ) 。因为在程序开始执行时必须调用main() ,所以它被声明为static。
声明为static的变量实质上就是全局变量。当声明一个对象时,并不产生static变量的拷贝,而是该类所有的实例变量共用同一个static变量。声明为static的方法有以下几条限制:
◆它们仅能调用其他的static 方法。
◆它们只能访问static数据。
◆它们不能以任何方式引用this 或super
package com.birdme;
public class UseStatic {
/**
* @param args
*/
private static int s;
public UseStatic(){
System.out.println("Create new Class");
}
static {
System.out.println("static block initialized");
}
public int getStatic(){
return s;
}
public void setStatic(int i){
s=i;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
UseStatic classA= new UseStatic();
UseStatic classB= new UseStatic();
System.out.println("classA.s="+classA.getStatic()+";classB.s=
"+classB.getStatic());
classA.setStatic(10);
System.out.println("classA.s="+classA.getStatic()+";classB.s=
"+classB.getStatic());
classB.setStatic(classB.getStatic()+10);
System.out.println("classA.s="+classA.getStatic()+";classB.s=
"+classB.getStatic());
}
}
下面是该程序的输出:
static block initialized
Create new Class
Create new Class
classA.s=0;classB.s=0
classA.s=10;classB.s=10
classA.s=20;classB.s=20
从结果可以看出类中static块程序是在类被装载的时候开始执行。而不是在创建对象的时候执行。
来源链接:http://tb.blog.csdn.net/TrackBack.aspx?PostId=1392616[img][/img]
分享到:
相关推荐
static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念……
java技术:java中static作用详解
该文档介绍了java中static的作用,并详细的描述了static的不同用法,和含义 。
主要介绍了Java中static作用,static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,需要的朋友可以参考下
static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块
static 在java中的作用 很好用的,很清楚明白。易懂!!!
非常详细的java中static介绍
讲述java中static的关键字的作用
static在Java语言中的作用,希望能帮组你,祝你愉快!
细说Java中的static关键字声明的变量、方法、静态块
java中static用法
Java中static变量的几个优缺点 简单介绍static
浅析Java中静态块与静态方法的区别与联系,执行顺序。
Java中static、this、super、final用法(word文档)
static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念。 被static修饰的成员变量和成员方法独立于该类的任何对象。也是说,它不...
自己总结的java中final和static的区别,请大家提出宝贵意见。
java中final和static讲解及实例
java中的static变量,方法,代码块 含例子和解释
Java中static、this、super、final用法,通过学习可以加深对java中类的进一步了解