java的static关键字 – Break易站
来源:互联网 发布:淘宝代销怎么下单 编辑:程序博客网 时间:2024/06/03 23:25
本文内容来自:java的static关键字 – Break易站
通过static关键字可以满足两方面的需要。一种情形是,只想为某特定域分配单一存储空间,而不去考虑究竟要创建多少对象,甚至根本就不创建任何对象。另一种情形是,希望某个方法不与包含它的类的任何对象关联在一起。也就是说,即使没有创建对象,也能够调用这个方法。当声明一个事物是static时,就意味着这个域或方法不会与包含它的那个类的任何对象实例关联在一起。所以,即使从未创建某个类的任何对象,也可以调用其static方法或访问其static域。
有些面向对象语言采用类数据和类方法两个术语,来表示static修饰的数据和方法,代表那些数据和方法只是作为整个类,而不是类的某个特定对象而存在的。有时,一些Java文献里也用到这两个术语。
只须将Stacie关键字放在定义之前。就可以将字段或方法设定为static。下面的代码就生成一个static字段,并对其进行了初始化:
class
StaticTest{
static
int
i =
55
}
现在,即使你创建了两个对象,两个对象也只有一份存储空间,这两个对象共享同一个i。再看看下面代码:
StaticTest st1=
new
StaticTest();
StaticTest st2=
new
StaticTest();
在这里,st1.i和st.i指向同一存储空问,因此它们具有相同的值55
引用static变量有两种方法。如前例所示,可以通过一个对象去定位它,如st1.i也可以通过其类名直接引用,而这对于非静态成员则不行。
StaticTest.i++:
其中,++运算符对变量进行递加操作。现在值变成了56,但是此时,st1和st2.i仍具有相同的值56。
使用类名是引用用static变量的首选方式,这不仅是因为它强调了变量的static结构,而且在某些情况下它还为编译器进行优化提供了更好的机会。
类似逻辑也应用于静态方法。静态方法也可以如下构建:
class
increST{
static
void
increment(){StaticTest.i++:}
}
可以看到,我们可以通过创建对象,调用对象的方法来用静态方法,
increST incre =
new
increST();
incre.increment();
或者,也可以直接用类来直接调用静态的方法
IncreST.increment();
本文内容来自:java的static关键字 – Break易站
—Author: Arvin Chen —Web Address: www.breakyizhan.com (Break易站)
- java的static关键字 – Break易站
- 关键字final,static break,return的应用
- java 的static关键字
- Java的static关键字
- Java的static关键字
- java的static关键字
- final、static、this、continue与break关键字的使用
- Java中关键字continue、break的区别
- JAVA static 关键字的理解
- 关于Java的static关键字
- 【java】static关键字的总结
- Java 的 static 关键字总结
- JAVA static 关键字的作用
- Java static关键字的理解
- Java的static关键字解析
- JAVA static关键字的使用
- Java static关键字的详解
- 浅谈Java 的static关键字
- 简单排序模板
- 无聊的一天
- Spring入门--控制反转(IOC)与依赖注入(DI)
- eclipse Egit所有版本离线包下载地址(亲测可用)
- 用Java实现WordCount
- java的static关键字 – Break易站
- adb端口冲突问题
- Ubuntu "Unable to locate package lrzsz"解决办法
- c语言操作mysql
- 弹框中使用百度地图BMap.Autocomplete,下拉提示框被覆盖问题解决
- typescript 入门笔记
- 关于《Django By Example》中的post.save()的错误
- django报错:TypeError: __str__returned non-string (type bytes)
- 区块链开发(十一)以太坊账户管理