- 浏览: 111019 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
yongliang567:
楼主,你对双重检查加锁这种单例实现方法的分析是对的,但是你既然 ...
关于单例(Singleton)模式实现方式的反思 -
xbl001529:
支持IE8吗?
[效果]JS折叠菜单
有时你希望定义一个类成员,使它的使用完全独立于该类的任何对象。通常情况下,类成员必须通过它的类的对象访问,但是可以创建这样一个成员,它能
够被它自己使用,而不必引用特定的实例。在成员的声明前面加上关键字static(静态的)就能创建这样的成员。如果一个成员被声明为static,它就
能够在它的类的任何对象创建之前被访问,而不必引用任何对象。你可以将方法和变量都声明为static。static 成员的最常见的例子是main(
) 。因为在程序开始执行时必须调用main() ,所以它被声明为static。
声明为static的变量实质上就是全局变量。当声明一个对象时,并不产生static变量的拷贝,而是该类所有的实例变量共用同一个static变量。声明为static的方法有以下几条限制:
1.它们仅能调用其他的static 方法。
2.它们只能访问static数据。
它们不能以任何方式引用this 或super(关键字super 与继承有关)。
如果你需要通过计算来初始化你的static变量,你可以声明一个static块,Static 块仅在该类被加载时执行一次。下面的例子显示的类有一个static方法,一些static变量,以及一个static 初始化块:
// Demonstrate static variables,methods,and blocks.
class UseStatic {
static int a = 3;
static int b;
static void meth(int x) {
System.out.println("x = " + x);
System.out.println("a = " + a);
System.out.println("b = " + b);
}
static {
System.out.println("Static block initialized.");
b = a * 4;
}
public static void main(String args[]) {
meth(42);
}
}
一
旦UseStatic 类被装载,所有的static语句被运行。首先,a被设置为3,接着static
块执行(打印一条消息),最后,b被初始化为a*4 或12。然后调用main(),main() 调用meth()
,把值42传递给x。3个println ( ) 语句引用两个static变量a和b,以及局部变量x 。
注意:在一个static 方法中引用任何实例变量都是非法的。
下面是该程序的输出:
Static block initialized.
x = 42
a = 3
b = 12
在定义它们的类的外面,static 方法和变量能独立于任何对象而被使用。这样,你只要在类的名字后面加点号运算符即可。例如,如果你希望从类外面调用一个static方法,你可以使用下面通用的格式:
classname.method( )
这
里,classname
是类的名字,在该类中定义static方法。可以看到,这种格式与通过对象引用变量调用非static方法的格式类似。一个static变量可以以同样的
格式来访问——类名加点号运算符。这就是Java 如何实现全局功能和全局变量的一个控制版本。
下面是一个例子。在main() 中,static方法callme() 和static 变量b在它们的类之外被访问。
class StaticDemo {
static int a = 42;
static int b = 99;
static void callme() {
System.out.println("a = " + a);
}
}
class StaticByName {
public static void main(String args[]) {
StaticDemo.callme();
System.out.println("b = " + StaticDemo.b);
}
}
下面是该程序的输出:
a = 42
b = 99
发表评论
-
通过spring取得国际化文件
2012-03-23 16:18 1856/* * @(#) ScheduleController ... -
java 能否做成C/S架构的,同时他能否写程序调用IE框架
2008-10-20 14:21 1007据说现在java在C/S方面 有了很大进步,想着想写个程序。通 ... -
转载 java面向对象—抽象类、接口与多继承
2008-10-20 09:49 1233有时候,我们可能想要构造一个很抽象的父类对象,它可能仅仅代表一 ... -
JAVA命名和目录服务(JNDI)
2008-10-17 10:59 923在 J2EE 中, JNDI 的目的是用来查找 J2EE 服 ... -
java高级编程:基于JNDI的应用开发
2008-10-17 10:58 1085基于JNDI的应用开发 ... -
JAVA里protected属性和方法的完整测试
2008-10-13 13:53 1276先说几个protected的使用原则,后面再看对应的例子。 ... -
java中中文问题
2008-10-09 13:36 8521、如果一个数据库的编码是iso8859-1的,我在java代 ... -
关于单例(Singleton)模式实现方式的反思
2008-10-06 15:57 1126大家都知道单例模式,也知道实现的方法,最近看到几个网友推荐的文 ... -
dom4j读取xml(笔记)
2008-09-26 10:20 11143Java代码 SAXReader reader ... -
关于struts的几个注意的地方 第一章
2008-09-26 10:14 729J2EE开发中大量的专业缩略语很是让人迷惑,尤其是跟一些高手 ... -
关于struts的几个注意的地方
2008-09-26 09:59 720关于struts的几个注意的 ... -
Java Vector
2008-09-09 15:32 2835Vector 类可以实现可增长的对象数组。与数组一样,它包含 ... -
Linux 文件命令精通指南
2008-07-15 10:01 941为刚接触 Linux 文件命令的初学者提供的速成教程 ... -
Java 设计模式与建模专题
2008-07-09 15:32 965http://www.ibm.com/developerwor ... -
Java并发编程基础知识片段(一)
2008-06-27 16:45 948原创 Java并发编程基础知识片段(一)收藏 Java 5并发 ... -
关于junit实现过程详细介绍
2008-04-14 16:16 942测试分类:白箱测试、黑箱测试、单元测试、集成测试、功能测试…… ... -
循序渐进学习Junit
2008-04-14 16:15 1188用JUnit可以大量减少Java ... -
JUnit入门
2008-04-14 16:14 795JUnit是一个开源的java单元测试框架。在1997年,由 ... -
Java正则表达式入门
2008-03-18 17:38 868Java中正则表达式使用方法详解: http://tech.1 ... -
Java正则表达式入门
2008-03-18 13:56 845众所周知,在程序开发中,难免会遇到需要匹配、查找、替换、判断字 ...
相关推荐
C语言中static变量使用方法
PHP面向对象之旅深入理解static变量与方法 PHP面向对象之旅深入理解static变量与方法
java中的static变量,方法,代码块 含例子和解释
java中如何使用Static的变量和方法.doc
block,局部变量,全部变量,static的静态变量关系
全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。 这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域...
Java中static变量的几个优缺点 简单介绍static
详细的分析了全局变量,局部变量,static变量的区别 以及使用时用该注意的东西,很不错的。有兴趣的可以看看
static表示“全局”或者“静态”的意思,用来修饰成员... 用public修饰的static成员变量和成员方法本质是全局变量和全局方法,当声明它类的对象市,不生成static变量的副本,而是类的所有实例共享同一个static变量。
MarkDown文档,大家应该都知道,@Value注解可以给类中的非静态变量注入值,但是给静态变量注入值则会有警告,结果是失败的,本文档说明了如何使用@Value注解给类的静态变量赋值
TIA博途中FB和FC块里的IN,Inout,Out的区别以及Static和Temp变量的用法
PHP面向对象之旅深入理解static变量与方法共11页.pdf.zip
这是我自己写的android jni调用java static属性的例子
static 的属性和方法,只能访问static的属性和方法,不能类访问非静态的属性和方法。因为静态属性和方法被创建时,可能还没有任何这个类的实例可以被调用。 static的属性,在内存中只有一份,为所有的实例共用。 ...
本文主要介绍了关于static及printf的格式和全局变量的使用
本文为大家介绍一种static静态局部变量的妙用方法。
主要介绍了python类和函数中使用静态变量的方法,实例分析了三种常用的实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
第一:使用extern關鍵字聲明(不推薦,破壞了封裝性) 第二:新建一個類,存放全局的變量,函數 第一:使用extern關鍵字聲明(不推薦,破壞了封裝性) 第二
外部变量和static内部变量的区别等C语言知识讲解。