JAVA变量初始化及变量作用范围

我将两个示例合并成了一个,来显示JAVA变量作过的范围,

我想在这真正运用的时候,可能才能获得更深入的了解吧。

public class TestVar {
	private int i = 100;
	private static String name = "Learn Java fastly!";
	{
		int block = 10;
	}
	public int firstMethod() {
		int j = 1;
		System.out.println("in firstMethod, we can access  static name :" + name);
		System.out.println("in firstMethod, i = " + i + ", j = " + j);
		return 1;
	}
	public int secondMethod(float f) {
		int j = 2;
		System.out.println("in secondMethod, we can also access  static name :" + name);
		System.out.println("in secondMethod, i = " + i + ", j = " + j + ", f = " + f);
		return 2;
	}
	public static void main(String[] args) {
		TestVar t = new TestVar();
		//System.out.println("in mainMethod, we can access  var block :" + t.block);
		t.firstMethod();
		t.secondMethod(3);
	}
}

 运行结果:

时间: 2024-09-19 08:55:41

JAVA变量初始化及变量作用范围的相关文章

Java的初始化类、变量、程序块加载探讨

1.基本类型数据的初始值 InitialValues.java public class InitialValues { boolean t; char c; byte b; short s; int i; long l; float f; double d; void print(String s) { System.out.println(s); } void printInitialValues() { print("boolean " + t); print("cha

java i o流 文本框-JAVA中初始化问题,代码在中的变量不能被初始化

问题描述 JAVA中初始化问题,代码在中的变量不能被初始化 我创建了一个按钮,给按钮一个鼠标监听器.按下按钮会获得一个文本区的字符串给masage,当我在其他包中调用getMasage方法,得到的字符串是123而不是文本区的字符串. import java.awt.Color;import java.awt.event.MouseEvent; import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JT

Java变量初始化的时机

对于JAVA中变量的初始化是一个很基础的问题,其中的一些问题也是易被学习者所忽略.当在编写代码的时候碰到时,常被这些问题引发的错误,感觉莫名其妙.而且现在许多大公司的面试题,对于这方面的考查也是屡试不爽.以下是对java变量初始化的时机的分析. [java变量执行初始化的步骤] java是一门强类型语言,因此java语言规定每个变量必须先声明,然后才能使用,声明变量时必须指定该变量的数据类型.首先看下面这条语句的执行过程: int a = 5; 实际上面这条语句会被拆分成两个过程执行: (1)i

Java中static静态变量的初始化完全解析_java

静态变量初始化顺序 1.简单规则 首先先看一段最普遍的JAVA代码: public class Test { public static Test1 t = new Test1(); public static int a = 0; public static int b; public static void main(String[] arg) { System.out.println(Test.a); System.out.println(Test.b); } } class Test1

java static 静态变量初始化

java static 静态变量初始化 static final int NUMBER_OF_MONTHS = 12; static final float PI = (float) 22 / 7; 如果你想使一个静态变量在其它地方可以引用的话,如下 public static final int NUMBER_OF_MONTHS = 12; public static final float PI = (float) 22 / 7; 写在函数中 public class MainClass {

Java类变量和成员变量初始化过程的应用介绍_java

一.类的初始化 对于类的初始化:类的初始化一般只初始化一次,类的初始化主要是初始化静态成员变量. 类的编译决定了类的初始化过程. 编译器生成的class文件主要对定义在源文件中的类进行了如下的更改: 1)       先按照静态成员变量的定义顺序在类内部声明成员变量. 2)       再按照原java类中对成员变量的初始化顺序进行初始化. 一个java类和编译后的class对应的转换如下: 源文件: 复制代码 代码如下: public class Person{ public static S

Java核心技术卷I基础知识3.4.1 变量初始化

3.4.1 变量初始化 声明一个变量之后,必须用赋值语句对变量进行显式初始化,千万不要使用未初始化的变量.例如,Java编译器认为下面的语句序列是错误的:   要想对一个已经声明过的变量进行赋值,就需要将变量名放在等号(=)左侧,相应取值的Java表达式放在等号的右侧.   也可以将变量的声明和初始化放在同一行中.例如:   最后,在Java中可以将声明放在代码中的任何地方.例如,下列代码的书写形式在Java中是完全合法的:   在Java中,变量的声明尽可能地靠近变量第一次使用的地方,这是一种

java static变量初始化是否需要同步?

问题描述 javastatic变量初始化是否需要同步?查资料是当使用这个类的时候会初始化类的静态变量,如果是多线程情况下是否需要同步呢? 解决方案 解决方案二:帮顶~我也很疑惑~有高手答疑么.解决方案三:javastatic变量初始化是否需要同步?查资料是当使用这个类的时候会初始化类的静态变量,如果是多线程情况下是否需要同步呢?你初始化时候同步有用吗,多个线程下,那是修改变量的值了吧,不叫初始化了.看你需求是否需要同步更新,读取.解决方案四:引用2楼u011278496的回复: javastat

java中为什么有的变量声明而不赋值?

问题描述 java中为什么有的变量声明而不赋值? java中为什么有的变量声明而不赋值?而有的就值,那什么情况下要赋值,什么情况下不赋值 解决方案 比如对象变量,而调用这个变量的构造函数非常耗费时间,所以我们等用到的时候再创建,如果程序运行完都不访问它,就根本不创建,这样可以提高效率. 对于简单变量,比如int float一类的,建议随手给一个初始值. 解决方案二: 你这个问题给你举个例子,你应该就能理解了 例如: int a; 这是只声明不赋值,则只会在内存的栈区创建引用,堆中并无此引用的指向