关于static方法和变量,举例说明
2009-02-22 21:07
369 查看
有些朋友不太清楚static变量和方法的使用,特此举例说明
使用的时候,
TestStatic ts1 = new TestStatic();
ts1.i = 3;
ts1.j = 5;
TestStatic ts2 = new TestStatic();
ts2.i = 7;
ts2.j = 9; // also modified ts1.j
System.out.println(ts1.i); //=3
System.out.println(ts1.j); //=9
System.out.println(ts2.i); //=7
System.out.println(ts2.j); //=9
//static 变量无需经过class的实例化即可使用
System.out.println(TestStatic.j); //=9
由于 j 是static的,所以你修改TestStatic任何一个实例的时候,都会影响到所有的 j ,所以从这个角度来说,static可
以用作共享资源,当然,共享了就要注意并发使用的问题,当某一个线程正在使用这个变量,另外一个线程也要使用这个变量,就可能会造成数据不一致的问题,就
是所谓的线程安全问题。
public class TestStatic { public int i; public static int j; }
使用的时候,
TestStatic ts1 = new TestStatic();
ts1.i = 3;
ts1.j = 5;
TestStatic ts2 = new TestStatic();
ts2.i = 7;
ts2.j = 9; // also modified ts1.j
System.out.println(ts1.i); //=3
System.out.println(ts1.j); //=9
System.out.println(ts2.i); //=7
System.out.println(ts2.j); //=9
//static 变量无需经过class的实例化即可使用
System.out.println(TestStatic.j); //=9
由于 j 是static的,所以你修改TestStatic任何一个实例的时候,都会影响到所有的 j ,所以从这个角度来说,static可
以用作共享资源,当然,共享了就要注意并发使用的问题,当某一个线程正在使用这个变量,另外一个线程也要使用这个变量,就可能会造成数据不一致的问题,就
是所谓的线程安全问题。
相关文章推荐
- java继承时能包括静态的变量和方法吗?举例说明!
- Java基础--关于static的变量和方法使用的一些不解
- 举例说明关于Android中SharedPreferences的使用方法
- 关于static关键字以及静态方法和属性的说明
- 20170702-变量说明,静态方法,类方法区别,断点调试,fork,yield协程,进程,动态添加属性等。。
- 代码说明call和apply方法的区别 (咱们这方面讲解的少,这样的题有变式,需要举例讲解一下)
- java中static变量和方法的总结
- Vmware官方关于群集中共享磁盘的设置方法及说明
- 关于 字符串中的单引号, 在sql存储过程中的传输总结; 逗号分隔的多个变量提取方法.
- C#中static类型的变量和方法
- java类的加载(包含有static定义的方法和变量)
- Asp.net中static变量和viewstate的使用方法(谨慎)
- 关于安装版JDK1.8或1.7更改多个JDK环境变量不生效的解决方法
- 关于DOS(windows命令行)截取变量中字符串问题的详细说明
- 关于java中方法的重载(method overloading)--说明
- C#中static类型的变量和方法
- autoindex使用方法举例说明
- 如何使用Static的变量和方法
- django的modelform关于save()方法的使用说明
- 关于getByte()方法的说明,本地调用base64没问题,远程调用就出现问题