static的简单理解
来源:互联网 发布:js for each 编辑:程序博客网 时间:2024/05/16 23:52
java的static关键字是非常有用的.
有两种情况是non-static无法做到的,这时你就要使用statice。
第一种:你希望不论产生了多少个对象,或不存在任何对象的情形下,那些特定数据的存储空间都只有一份;
第二种:你希望某个函数不要和class object绑在一起。即使没有产生任何object,外界还是可以调用其static函数,或是取用其static data。
如何理解呢,看完下面的小例子,就会理解了。
public class StaticTest {
static int i = 47;
}
public class Test {
public static void main(String[] args) {
StaticTest t1 = new StaticTest();
StaticTest t2 = new StaticTest();
t1.i = 50;
System.out.println(t1.i);
System.out.println(t2.i);
}
}
结果为:
50
50
为什么会有这样的结果呢?这是因为它们都指向同一块内存。
另外,调用static函数或变量,除了利用对象定址外(t1.i = 50),也可以直接使用其class名,即(StaticTest.i = 50)。
有两种情况是non-static无法做到的,这时你就要使用statice。
第一种:你希望不论产生了多少个对象,或不存在任何对象的情形下,那些特定数据的存储空间都只有一份;
第二种:你希望某个函数不要和class object绑在一起。即使没有产生任何object,外界还是可以调用其static函数,或是取用其static data。
如何理解呢,看完下面的小例子,就会理解了。
public class StaticTest {
static int i = 47;
}
public class Test {
public static void main(String[] args) {
StaticTest t1 = new StaticTest();
StaticTest t2 = new StaticTest();
t1.i = 50;
System.out.println(t1.i);
System.out.println(t2.i);
}
}
结果为:
50
50
为什么会有这样的结果呢?这是因为它们都指向同一块内存。
另外,调用static函数或变量,除了利用对象定址外(t1.i = 50),也可以直接使用其class名,即(StaticTest.i = 50)。
- static的简单理解
- java中关于static的简单理解
- 关于static与堆栈的简单理解
- const , static , extern , 宏的简单使用与理解
- static的理解
- 浅谈static的理解
- static的理解
- static的理解
- static的一点理解
- Static的一些理解
- static关键字的理解
- static方法的理解
- static的理解
- static 的理解
- static的详细理解
- static的理解
- final、static的理解
- 对static的理解
- system和undo表空间不能处于脱机
- 层次创建二叉树及后序遍历
- 装IBM226 8648机总结
- ubuntu下安装jdk
- 每个新手都要搞懂弄明白的
- static的简单理解
- 轻松玩转CreateRemoteThread,让你的代码长出翅膀
- IE与Firefox的区别
- 还是回这里吧
- CSS hacks
- 2003服务器被入侵,如果还原Gest用户,删除隐藏用户
- POJ1018
- 只有小学文凭就没资格学软件吗?
- [转]asp.net(c#)怎样将图片存入数据库?