`
42087743
  • 浏览: 237824 次
  • 性别: Icon_minigender_1
  • 来自: 合肥&上海
社区版块
存档分类
最新评论

static赋值的变态例子

 
阅读更多
大家看看下面会打印什么:
	static int first = accessTooSoon();

	static int second = 1;

	static int accessTooSoon() {

		return (second);
	}

	public static void main(String[] args) {
		System.out.println("first = " + first);
	}

为了让大家不看到答案 , 最后再给出答案 , 我先解释下 , static初始化块和类变量是按照其在代码中出现的顺序依次执行初始化操作的而不能在类变量声明出现之前就引用它 , 这些语句被处理的顺序就是它们在代码中出现的顺序 , 由于在初始化second 之前accessTooSoon 方法就访问了它那么方法得到的是second 的默认值即0 , 因此输出结果first 的值为0 而不是1 .
分享到:
评论

相关推荐

    Static静态变量的应用(VB6.0代码编写)

    1. **计数器**:如上面的例子所示,Static变量可以用来作为循环计数器,记录函数或过程的调用次数。 2. **缓存数据**:当需要在多次调用间保存一些计算结果或者临时数据时,Static变量可以避免重复计算,提高效率。...

    C#引用类型的赋值 类的赋值

    static void Main(string[] args) { MyClassA a = new MyClassA(); MyClassA b = new MyClassA(); // 创建新对象并初始化 MyClassA c = a; // 将a的引用赋值给c,此时c与a指向同一个对象 Console.WriteLine(...

    php非常变态的面试题

    在这个例子中,get_count 函数中的static 变量只在第一次调用时赋值为 0,第二次调用时不会再次赋值。 3. 类型转换:PHP 是弱类型语言,类型转换是经常出现的问题。在这个例子中,遍历数组时,$key 和 'aa' 的比较...

    C#两个相同属性的类赋值方法

    最近有遇到两个类之间的赋值问题,两个类的属性几乎都一样的,所以写了个通过反射获取属性的然后赋值的方法,把一个类的属性的值赋值给另一个类。 框架是.net 4.5 public static D Mapper(S s) { D d = Activator...

    C例子:static关键字

    该程序是我写的博客“一起talk C栗子吧(第一百二十六回:C语言实例--static关键字)”的配套程序,共享给大家使用

    springboot 使用yml配置文件给静态变量赋值教程

    在这个教程中,我们将学习如何使用`yml`配置文件为静态变量赋值,特别是针对像数据查询引擎连接工具类这样的场景。 首先,我们需要在`yml`配置文件中定义所需的参数。以`clickhouse`为例,我们会在`application.yml...

    static静态变量使用@Value注入方式.md

    在这个例子中,`setEnv`方法负责将通过`@Value`注解接收到的值赋给静态变量`env`。这样做的好处在于,Spring可以在Bean的生命周期管理过程中正确执行`setEnv`方法,从而成功地为静态变量赋值。 #### 五、总结 通过...

    MFC实现STATIC+TEXT控件

    在MFC(Microsoft Foundation Classes)框架中,STATIC控件通常用于显示简单的文本或者图标,而它们默认不支持鼠标事件。然而,如果你希望在用户点击STATIC TEXT控件时触发某些行为,可以通过自定义控件和处理消息...

    Static控件 动态显示内容

    在这个例子中,我们使用了MFC的CStatic和CScrollBar类,以及自定义的消息处理来实现Static控件的动态滚动显示。实际上,还可以使用GDI+或其他图形库直接绘制文本,模拟滚动效果。另外,如果你的项目使用了如Qt或...

    lazy-static.rs:一个用于在Rust中定义惰性求值静态变量的小宏

    懒惰的一个宏,用于在Rust中声明惰性评估的静态值。 使用此宏,可能具有static ,这些static要求在运行时执行代码才能进行初始化。 这包括需要堆分配的任何...例子use lazy_static :: lazy_static;use std :: collec

    TIA博途中FB和FC块里的IN,Inout,Out的区别以及Static和Temp变量的用法.docx

    理解IN、Inout、Out这三种不同的输入输出参数类型以及Static和Temp变量的用法对于编写高效且可靠的PLC程序至关重要。 1. IN参数:IN类型的变量作为单向输入变量,它只能被程序块内部读取,而不能被写入。这意味着在...

    C#类中static变量用法分析

    2. 赋值:接下来,程序会执行`static`变量的初始化代码。对于值类型,这可能包括直接赋值或者通过方法获取值,如`i = getNum()`。对于引用类型,初始化通常涉及实例化对象。 3. 创建对象:最后,如果需要创建类的...

    通过枚举反向给实体类赋值

    在上面的例子中,`Color`枚举包含了三个常量:RED、GREEN和BLUE,每个常量都有对应的描述。 现在,假设我们有一个实体类`Product`,其中有一个`Color`类型的属性: ```java public class Product { private Color...

    Java中的static关键字

    通常可用来实现初始化赋值。 四、静态变量和静态方法的调用形式 静态变量和静态方法可以通过类名或对象名调用,例如:`ClassName.staticVariable`或`objectName.staticVariable`。 五、静态方法中的限制 在静态...

    多线程线程变量赋值

    在这个例子中,主线程设置了`ThreadLocal`变量的值,但每个子线程在自己的上下文中运行时,它们看到的`ThreadLocal`变量值是独立的。因此,`thread1`和`thread2`可能会打印出不同的值,因为它们拥有各自的副本。 ...

    类的static,const,static const,const static成员的初始化

    类的static、const、static const、const static成员的初始化 在 C++ 编程中,static、const、static const 和 const static 是四个常见的概念,但它们的初始化方式却容易弄混淆。下面我们将对这四种成员变量的初始...

    static-static

    ... static static static static static

    static 在java中的作用

    `static final`经常一起使用来声明常量,这样的变量一旦被赋值后就不能再改变。例如: ```java public class Constants { public static final int MAX_VALUE = 100; } ``` 这里`MAX_VALUE`是一个静态常量,所有...

    DELPHI里面的技巧如何运行的时候给常量赋值

    但是,有一种方法可以模拟运行时给“常量”赋值的效果,那就是使用静态变量(Static Variable)。静态变量与常量相似,它们在内存中的位置也是固定的,但其值可以在运行时改变。这里是如何实现的: ```delphi var ...

    java视频 static关键字

    在这个例子中,`count`变量在所有`MyClass`实例之间共享。 2. **静态方法(Static Methods)**: `static`方法不能访问非`static`成员,因为它们不依赖于特定的对象实例。这些方法通常用于工具类或者不需要访问...

Global site tag (gtag.js) - Google Analytics