`
lzj0470
  • 浏览: 1273035 次
  • 性别: 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  
    }   

}

 

分享到:
评论

相关推荐

    C语言中static的作用.pdf

    而在另一个文件`test1.c`中尝试引用这两个定义: ```c // test1.c #include extern int a; void msg(); int main() { printf("a: %d\n", a); msg(); return 0; } ``` 由于`a`和`msg`都是静态的,所以编译器会...

    c语言中static使用方法

    - **关键字static的历史**:在C语言中,`static`关键字最初被引入是为了表示在退出一个块后仍然存在的局部变量。随后,`static`又获得了另一种含义:用来表示不能被其他文件访问的全局变量和函数。尽管如此,为了不...

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

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

    C语言中static详述

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

    const,extern,static,volatile的使用

    - **限制作用域**:在一个文件中定义了带有 `static` 的函数,则该函数只能在本文件中被调用。 - **内存分配**:`static` 函数和其他函数一样,只是作用域受到限制。 **3. static 成员** - **类的成员变量**:`...

    extern和static的详细用法

    如果另一个模块`test2`想要使用`g_str`,只需包含`test1.h`: ```c++ #include "test1.h" void fun2() { std::cout ; } ``` 在这个例子中,`g_str`是在整个工程范围内唯一的一份,`test2`编译单元无需再次定义,...

    C语言中static用法大全

    局部静态变量的一个重要特点是,尽管它们离开了作用域后不再可见,但它们在内存中的值仍然保留,直到程序结束才释放。 ##### 3. 静态函数 静态函数是在函数声明时加上`static`关键字定义的。静态函数的特点是它只...

    继承与static精选例题

    在Java中,继承是一种类之间的关系,允许一个类(子类)继承另一个类(父类)的属性和方法。通过继承,可以实现代码复用,提高程序的可维护性。 `static`关键字在Java中用于表示“静态”的概念,它主要应用于变量和...

    const extern static volatile 小结

    这意味着当前文件可以使用这些变量或函数,但其实际定义存在于另一个文件中。 1. **作用**: - 使多个源文件之间共享同一个变量或函数。 - 通常与全局变量或全局函数的声明一起使用,以实现跨文件的数据共享。 2...

    class_static.rar

    在C++编程语言中,静态成员是类的一个重要特性,它可以被所有类的实例共享,而不是每个实例都拥有自己的副本。静态成员分为静态数据成员和静态成员函数,它们各自有独特的用途和规则。本篇文章主要探讨了在基类中...

    static方法和非staitic方法的调用.zip_718static_arrangertr

    在设计模式中,`static`方法常用于工厂模式的简单实现,或者在单例模式中用于确保类只有一个实例。另一方面,非`static`方法在构建面向对象的设计时发挥着关键作用,如封装、继承和多态。 总之,`static`方法和非`...

    static关键字的作用详解

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

    关于static及printf的格式和全局变量的使用

    首先,static关键字在C语言中具有两种主要用途,一种用于修饰变量,另一种用于修饰函数。其次,printf函数是C语言标准库中用于格式化输出的标准函数,能够按照指定的格式输出不同类型的数据。最后,全局变量是在函数...

    static class 静态类详解1

    Java 中的静态内部类是一种特殊的内部类,它可以被定义在另一个类内部。静态内部类的使用目的主要是为了在某些特殊的情况下发挥其独特的作用,例如在代码测试中,可以将主方法写入到静态内部类中,从而不用为每个 ...

    static and final.

    对于引用类型的 `final` 变量,一旦赋值,就不能重新指向另一个对象,但其引用的对象内容仍然可以改变。 #### Static 和 Final 的组合使用 当 `static` 和 `final` 一起使用时,表示创建了一个全局常量,这类变量...

    C语言中关键字const、static、volatile、extern、auto、register的用法分析.doc

    Static关键字是C语言中的另一个重要关键字,它可以用来修饰变量、函数和函数参数。 在面向过程编程中,Static关键字可以用来修饰函数体内的变量、函数体外的变量和函数。 1. 修饰函数体内的变量 Static关键字可以...

    可以使用的ffmpeg-4.2.2-win64-static.zip

    - 转换:可以将一个文件格式转换为另一个,包括改变分辨率、比特率、帧率等参数。 - 剪辑与合并:可以截取视频片段或合并多个视频文件。 - 添加水印、字幕和音轨:提供在视频上添加文字、图像或音轨的功能。 - ...

    day02_分类和static.zip

    类还可以通过继承关系来扩展功能,一个类可以继承另一个类的属性和方法,实现代码的复用和结构的层次化。 接下来,我们讨论"static"关键字。在Java中,"static"关键字有多种用途,但最常见的可能是用来声明静态变量...

    函数指针_extern_typedef_const_static的基本用法

    例如,如果你在一个头文件中声明了一个全局变量,而在另一个源文件中想要访问它,就需要使用`extern`来声明: ```c // 在头文件中声明 extern int global_var; // 在源文件中定义 int global_var = 42; ``` 接...

Global site tag (gtag.js) - Google Analytics