- 浏览: 1214114 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (434)
- js (20)
- struts2 (77)
- spring (11)
- hibernate (17)
- ssh整合 (9)
- 程序例子 (4)
- 正则表达式 (8)
- JSP (20)
- IDE (15)
- 数据库 (10)
- 工作经验技巧感悟 (21)
- 程序员的幽默 (4)
- windows设置 (4)
- 名词解释 (4)
- 技术入门 (4)
- jFreeChart (16)
- OGNL (5)
- java基础 (46)
- dwr (4)
- portal (1)
- 示例用到的附件 (0)
- 优秀程序员45个习惯 (1)
- webService (1)
- shell (3)
- ibatis (3)
- 开发工具 (1)
- OS (3)
- xmlbean (2)
- design_pattern (0)
- error (1)
- testng (2)
- python (18)
- hadoop (21)
- mapreduce (9)
- Hive (0)
- HBase (0)
- ubuntu (22)
- 多线程 (7)
- 自我改进 (6)
- 设计模式 (1)
- ssh (2)
- ant (4)
- guake (2)
- 云计算 (9)
- hdfs (3)
- 大数据 (1)
- 电信业务 (1)
- maven (2)
- svn (5)
- UML (1)
- 待处理问题 (2)
- log4j (1)
- css (1)
- LevelDb (0)
- thrift (6)
- 辅助工具 (3)
- 算法 (1)
- tornado (0)
- twisted (1)
- jvm (0)
- 图书 (1)
- 其他 (1)
- oracle (2)
- mvn (1)
- 私人信息 (0)
- nio (1)
- zookeeper (1)
- JavaIO (3)
- mongodb (1)
- java-高级 (6)
- spring-深入 (1)
- tomcat (1)
- quartz (1)
- 面试题 (1)
- redis (3)
- EJBCA (0)
- spring-3.0 (1)
- memcache (3)
- 性能检测 (1)
- android (0)
- 开源项目 (1)
- 将博客搬至CSDN (0)
- 架构之路 (1)
最新评论
-
pjwqq:
“子类对象”都拥有了“父类对象的一个实例的引用”我晕,应该是“ ...
java继承--父类属性的存放位置 -
gwgyk:
关于楼主最后的问题,我想可能是这样:InputFormat默认 ...
eclipse 运行hadoop wordcount -
fanjf:
上述7点基本具备,可惜现在因为项目需要,做管理方面工作!
如何判断自己是否具有成为一名优秀程序员的潜质 -
摸爬滚打NO1:
链接已经失效
Eclipse添加JSEclipse 插件(js插件) -
younglibin:
看了以上7条, 自己 也不知道是否能够对上, 感觉没一点都有那 ...
如何判断自己是否具有成为一名优秀程序员的潜质
java中一切皆是对象
一个类中对象的定义一般都是分一下的两步来进行的:
1/ A a; //定义了一个类A的引用
2/ a=new A("10","2563"); //真正地建立了对象a,也就是a指向了内存中一块连续的区域
也就是说通常我们说的创建了一个类,只是指出了这个类的外观和行为,除非用new 创建那个类的一个对象,否则的话,实际上并未得到任何的东西。只有执行了new以后,才会正式生成数据存储空间,并可使用相应的方法。
但是如果我们要只想用一个存储区域来保存一个特定的数据——无论要创建多少个对象,甚至根本不创建对象。或者我们需要一个特殊的方法,它没有与这个类的任何对象关联。也就是说,即使没有创建对象,也需要一个能调用的方法。为满足这两方面的要求,可使用static(静态)关键字。
一旦将什么东西设为static,数据或方法就不会同那个类的任何对象实例联系到一起。所以尽管从未创建那个类的一个对象,仍能调用一个static方法,或访问一些static数据。而非静态的方法或者变量就必须知道它们操作的具体对象
下面是java编程思想中的例子和解释:
例如,下述代码能生成一个static数据成员,并对其初始化:
class StaticTest {
Static int i = 47;
}
现在,尽管我们制作了两个StaticTest对象,但它们仍然只占据StaticTest.i的一个存储空间。这两个对象都共享同样的i。请考察下述代码:
StaticTest st1 = new StaticTest();
StaticTest st2 = new StaticTest();
此时,无论st1.i还是st2.i都有同样的值47,因为它们引用的是同样的内存区域。
有两个办法可引用一个static变量。正如上面展示的那样,可通过一个对象命名它,如st2.i。亦可直接用它的类名引用,而这在非静态成员里是行不通的(最好用这个办法引用static变量,因为它强调了那个变量的"静态"本质)。
StaticTest.i++;
其中,++运算符会使变量增值。此时,无论st1.i还是st2.i的值都是48。
类似的逻辑也适用于静态方法。既可象对其他任何方法那样通过一个对象引用静态方法,亦可用特殊的语法格式"类名.方法()"加以引用。静态方法的定义是类似的:
class StaticFun {
static void incr() { StaticTest.i++; }
}
从中可看出,StaticFun的方法incr()使静态数据i增值。通过对象,可用典型的方法调用incr():
StaticFun sf = new StaticFun();
sf.incr();
或者,由于incr()是一种静态方法,所以可通过它的类直接调用:
StaticFun.incr();
尽管是"静态"的,但只要应用于一个数据成员,就会明确改变数据的创建方式(一个类一个成员,以及每个对象一个非静态成员)。若应用于一个方法,就没有那么戏剧化了。对方法来说,static一项重要的用途就是帮助我们在不必创建对象的前提下调用那个方法。正如以后会看到的那样,这一点是至关重要的——特别是在定义程序运行入口方法main()的时候。
和其他任何方法一样,static方法也能创建自己类型的命名对象。所以经常把static方法作为一个"领头羊"使用,用它生成一系列自己类型的"实例"。
发表评论
-
java驼峰转下划线
2014-12-22 17:45 5285private String underscoreName ... -
java正则表达式
2014-10-11 10:55 0http://pan.baidu.com/s/1pJ2WVSv ... -
java递归和迭代的区别
2014-09-15 18:27 877能使用迭代的不适用递归,另外一半递归有明确的父子关系或者 数 ... -
java术语(PO/POJO/VO/BO/DAO/DTO)
2014-01-21 17:43 1122PO(persistant object) 持久对象在o/r ... -
outOfMemeoryError处理
2013-12-09 18:41 1244outOfMemeoryError处理(使用hprof) ... -
字节与字符的转化接口
2013-12-02 20:44 954字节与字符的转化接口 另外数据持久化或网络传输都是以字节进 ... -
深入分析 Java I/O 的工作机制
2013-12-02 20:19 859I/O 问题可以说是当今互联网 Web 应用中所 ... -
java 参数太多怎么处理
2013-11-27 18:29 2550java参数太多 解决方案一共有5种: 1.自定义参 ... -
ByteBuffer的allocate和allocateDirect
2013-11-20 16:48 5656在Java中当我们要对数据进行更底层的操作时,通常是操作数据 ... -
LinkedListMultimap用法
2013-11-14 16:52 5270public static void main(S ... -
5种IO模型的图解分析和比较
2013-12-02 20:17 2349Unix 5种IO模型的图解分析和比较 (转自http: ... -
long 转换为 byte后正确排序
2013-10-28 16:02 1526关于 java中long类型数据转换为byte[]数组 ... -
thrift 客户端链接池
2013-10-25 13:33 892thrift 没有实现链接池的功能,附件为thrift的链接池 ... -
java stream
2013-10-25 11:28 964经常在使用网络数据传输的时候,小数据使用 打包传输,大数据使 ... -
int转byte[],byte[]转int
2013-10-21 15:56 1239public byte[] intToByte(int i) ... -
java socket编程
2013-10-17 15:56 980http://www.cnblogs.com/linzhen ... -
prepareStatement与Statement的区别
2013-10-08 18:09 1187关于jdbc的详细介绍参照官方文档: http://do ... -
连接池
2013-09-29 14:24 0http://www.ibm.com/developerwor ... -
JAVA String.format 方法使用介绍
2013-09-06 17:02 4122public static void main(Strin ... -
java的System.getProperty()方法可以获取的值
2013-09-02 11:01 904java.version Java ...
相关推荐
### Java中的Static概念详解 ...通过上述分析,我们可以清楚地看到`static`关键字在Java中是如何被运用的,及其在变量、方法和代码块管理上的独特优势。理解这些概念,对于编写高效、可维护的Java代码至关重要。
Java中static变量的几个优缺点 简单介绍static
这个结论来自于对 Java 中 static 变量和方法的研究和实践。 在 Java 中,static 变量和方法是属于类的,而不是实例的。因此,当我们使用 static 变量和方法时,它们实际上是属于类的,而不是实例的。这意味着,...
static表示“全局”或者“静态”的意思,用来修饰成员... 用public修饰的static成员变量和成员方法本质是全局变量和全局方法,当声明它类的对象市,不生成static变量的副本,而是类的所有实例共享同一个static变量。
static 是 Java 语言中一个关键字,表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态代码块。在 Java 语言中,没有全局变量的概念,但是可以使用 static 来实现类似于全局变量的效果。 ...
在Java编程语言中,`static`关键字扮演着至关重要的角色,它被用于声明类成员(如变量、方法)为静态的。静态成员不依赖于任何特定的对象实例,而是与类本身绑定,这意味着无论该类有多少个实例,静态成员只会有一份...
### Java中如何使用Static的变量和方法 #### Static的基本概念 在Java中,`static`关键字用于声明类的成员变量(静态变量)和成员方法(静态方法),这些成员不依赖于类的任何特定实例,因此可以在没有创建类的...
Java中的`static`关键字是编程中的一个重要概念,它在Java语言中扮演着多个角色,尤其在处理类和对象时起到关键作用。`static`关键字可以用来修饰成员变量、方法、代码块以及内部类,每种情况都有其特定的含义和用途...
Java语言中变量和方法的分析及其应用.pdf Java语言中变量和方法是编程语言中非常重要的概念,对于Java语言当然也不例外。变量是用于标识数据的存储单元,它可以存储数值、字符串、对象等类型的数据。方法是描述实现...
在Java编程语言中,`final` 和 `static` 是两个非常重要的关键字,它们分别具有不同的含义和用法,但都对代码的结构和行为产生深远影响。本文将深入探讨这两个关键字,并结合实际示例来解释它们的应用场景。 首先,...
4. 用 private 修饰的 static 成员变量和成员方法,表示这个变量可以在类的静态代码块中,或者类的其他静态成员方法中使用(当然也可以在非静态成员方法中使用),但是不能在其他类中通过类名来直接引用,这一点很...
在Java编程语言中,`static`关键字是一个非常重要的修饰符,它有多种用途,但最常见的是用来修饰类的方法和变量。在这个主题中,我们将深入探讨`static`修饰方法的概念、作用以及它如何影响Java程序的执行。 首先,...
总结来说,Java中的`static`关键字提供了类级别的变量和方法,它们与类实例无关,而是与类本身相关联,是共享的,且生命周期贯穿整个程序。理解并正确使用静态变量和静态方法对于编写高效、可维护的Java代码至关重要...
Java 中的 static 关键字是用于声明类的成员变量和成员方法的,它可以使得变量和方法属于类本身,而不属于某个对象。静态变量也称为类变量,静态方法也称为类方法。静态变量和静态方法可以直接通过类名调用,不需要...
总结而言,`static`关键字在Java中提供了强大的功能,用于创建类级别的变量和方法,这对于实现特定设计模式、管理资源和提供工具方法至关重要。正确理解和使用`static`可以帮助编写更高效、更易于维护的代码。
"Java关键字final、static使用总结" 在 Java 编程语言中,final 和 static 是两个非常...final 和 static 关键字都是 Java 编程语言中的重要概念,了解它们的使用方法和限制对编写高效、可靠的 Java 程序非常重要。
本文详细介绍了Java中的`static`属性,包括静态成员变量、静态方法以及静态语句块的概念和使用方法。通过具体的代码示例,我们不仅了解了`static`关键字的基本用法,还深入探讨了静态成员变量如何在整个类之间共享,...
总结来说,`static`关键字在Java中提供了类级别的共享资源,使得我们可以创建不依赖于类实例的变量和方法,这对于节省内存和简化代码结构非常有用。理解`static`关键字的用法是成为熟练Java程序员的关键步骤之一。