`
lzj0470
  • 浏览: 1246649 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

static另一个作用(一)

    博客分类:
  • java
 
阅读更多
/**
 * java static的影响
 * 在定义一个没有static约束的公共变量时,在构造函数中修改了公共变量值,打印出来就是你在构造函数中所修改的值。如:T1类
 */
public class T1 {

	private static T1 obj = new T1();
	
    private int a;   
    
    private int b = 0;     
  
    private T1() {   
        System.out.println("a值:"+a);   
        a++;   
        b++;   
    }   
  
    public static T1 getInstance() {   
        return obj;   
    }   
  
    /**  
     * @param args  
     */  
    public static void main(String[] args) {   
        // TODO Auto-generated method stub   
    	T1 m = T1.getInstance();   
        System.out.println(m.a);// 1   
        System.out.println(m.b);// 1  
    }   

}

 

/**
 * java static的影响
 * 在定义一个没有static约束的公共变量时,在构造函数中修改了公共变量值,打印出来就是你在构造函数中所修改的值。如:T1类
 * 在定义一个有static约束的公共变量时,就算在构造函数中修改了公共变量值,程序也会接着执行b=0这句话,最终打印出来还是0.如:T2类.这就是static另作用.小心使用static这个关键字
 */
public class T2 {

	private static T2 obj = new T2();
	
    private int a;   
    
    private static int b = 0;     
  
    private T2() {   
        System.out.println("a值:"+a);   
        a++;   
        b++;   
    }   
  
    public static T2 getInstance() {   
        return obj;   
    }   
  
    /**  
     * @param args  
     */  
    public static void main(String[] args) {   
        // TODO Auto-generated method stub   
    	T2 m = T2.getInstance();   
        System.out.println(m.a);// 1   
        System.out.println(m.b);// 0  
    }   

}

 

分享到:
评论

相关推荐

    python 模仿静态变量(static)另一案例(示例)

    # 题目: # 模仿静态变量(static)另一案例。 # 分析:演示一个python作用域使用方法

    C语言中static详述

    在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。 一、Static的功能 1、隐藏 当我们同时编译多个文件时,所有未加static前缀的全局...我们要同时编译两个源文件,一个是a.c,另一个是main.c。

    static关键字的作用详解

    我们要同时编译两个源文件,一个是a.c,另一个是main.c。 下面是a.c的内容 代码如下:char a = ‘A’; // global variablevoid msg() { printf(“Hello\n”); } 下面是main.c的内容 代码如下:int main(void){ ...

    C语言中static的作用及C语言中使用静态函数有何好处

    想了解Java中static关键字的作用和用法详细介绍,请点击此处了解详情。 在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条,分别是: ...我们要同时编译两个源文件,一个是a.c,另一个是main

    C语言static修饰函数详细解析

    我们要同时编译两个源文件,一个是a.c,另一个是main.c。 下面是a.c的内容 代码如下:char a = ‘A’; // global variablevoid msg() { printf(“Hello\n”); }下面是main.c的内容 代码如下:int main(void){ extern...

    arcgis工具

    按下N键,被选要素就会自动地切换到另一个图层的要素上去(如图1) 3).重复操作,直到选中目标要素为止 21. 编辑时一些常用的快捷键 一、公共快捷键(对所有编辑工具有效): 在编辑未完成时按快捷键E切换到...

    关于C/C++中static关键字的作用总结

    同时编译两个源文件,一个是a.c,另一个是main.c。 代码如下://a.cchar a = ‘A’; // global variablevoid msg(){ printf(“Hello\n”);} 代码如下://main.c int main(){ extern char a; // extern variable ...

    浅谈iOS开发中static变量的三大作用

    我们要同时编译两个源文件,一个是a.c,另一个是main.c。 下面是a.c的内容 char a = 'A'; // global variable void msg() { printf(Hello\n); } 下面是main.c的内容 int main(void) { extern char a; // ...

    java基础知识

    不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现 3、Static Nested Class 和 Inner Class的不同 答:Nested Class (一般是C++的说法),Inner Class (一般是JAVA的说法)。Java内部类...

    java笔试题,java程序员常见的笔试

    不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现 3、Static Nested Class 和 Inner Class的不同 答:Nested Class (一般是C++的说法),Inner Class (一般是JAVA的说法)。Java内部...

    java 语言中常见易错知识点

    不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现 3、Static Nested Class 和 Inner Class的不同 答:Nested Class (一般是C++的说法),Inner Class (一般是JAVA的说法)。Java内部类...

    php中static静态变量的使用方法详解

    php中的变量作用范围的另一个重要特性就是静态变量(static 变量)。静态变量仅在局部函数域中存在且只被初始化一次,当程序执行离开此作用域时,其值不会消失,会使用上次执行的结果。

    java面试题大全-基础方面

    不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现 3、Static Nested Class 和 Inner Class的不同 答:Nested Class (一般是C++的说法),Inner Class (一般是JAVA的说法)。Java内部类...

    java面试宝典

    为一个接口,由另一个内部类 实现 3、Static Nested Class 和 Inner Class的不同 答:Nested Class (一般是C++的说法),Inner Class (一般是JAVA的说法)。Java内部类与C++ 嵌套类最大的不同就在于 是否有指向...

    Java中抽象类和接口的区别与作用详解

    abstract class可以extends另一个abstract class或者implements一个或者多个Interface,而Interface只能extends一个Interface。abstract class可以不去实现任何父类或者Interface定义的抽象方法(但这些抽象方法终归...

    java 面试题 总结

    例如正在写的数据以后可能被另一个线程读到,或者正在读的数据可能已经被另一个线程写过了,那么这些数据就是共享数据,必须进行同步存取。 当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望...

    java线程和容器专题课程第一部分

    java的线程机制是抢占式的,这表示调试 机制会周期性的中断线程,将上下文切换到另一个线程,从而为每个线程都提供时间片,使得每个线程都分分配到数据合理的时间去驱动 它的任务。在多线程中,一般对于static用的...

    JAVA笔试题集锦(1-30)基础部分

    不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现 3、Static Nested Class 和 Inner Class的不同 答:Nested Class (一般是C++的说法),Inner Class (一般是JAVA的说法)。Java内部类...

    超级有影响力霸气的Java面试题大全文档

    例如正在写的数据以后可能被另一个线程读到,或者正在读的数据可能已经被另一个线程写过了,那么这些数据就是共享数据,必须进行同步存取。 当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望...

Global site tag (gtag.js) - Google Analytics