Detailed explanation of Java static static modifiers: static variables, static methods and static code blocks
•
Java
类名.静态成员
Static variable
public static double PI = 3.14159256;
Example 1
public class StaticVar { public static String str1 = "Hello"; public static void main(String[] args) { String str2 = "World!"; // 直接访问str1 String accessVar1 = str1+str2; System.out.println("第 1 次访问静态变量,结果为:"+accessVar1); // 通过类名访问str1 String accessVar2 = StaticVar.str1+str2; System.out.println("第 2 次访问静态变量,结果为:"+accessVar2); // 通过对象svt1访问str1 StaticVar svt1 = new StaticVar(); svt1.str1 = svt1.str1+str2; String accessVar3 = svt1.str1; System.out.println("第3次访向静态变量,结果为:"+accessVar3); // 通过对象svt2访问str1 StaticVar svt2 = new StaticVar(); String accessVar4 = svt2.str1+str2; System.out.println("第 4 次访问静态变量,结果为:"+accessVar4); } }
第 1 次访问静态变量,结果为:HelloWorld! 第 2 次访问静态变量,结果为:HelloWorld! 第 3 次访向静态变量,结果为:HelloWorld! 第 4 次访问静态变量,结果为:HelloWorld!World!
Static method
Example 2
public class StaticMethod { public static int count = 1; // 定义静态变量count public int method1() { // 实例方法method1 count++; // 访问静态变量count并赋值 System.out.println("在静态方法 method1()中的 count="+count); // 打印count return count; } public static int method2() { // 静态方法method2 count += count; // 访问静态变量count并赋值 System.out.println("在静态方法 method2()中的 count="+count); // 打印count return count; } public static void PrintCount() { // 静态方法PrintCount count += 2; System.out.println("在静态方法 PrintCount()中的 count="+count); // 打印count } public static void main(String[] args) { StaticMethod sft = new StaticMethod(); // 通过实例对象调用实例方法 System.out.println("method1() 方法返回值 intro1="+sft.method1()); // 直接调用静态方法 System.out.println("method2() 方法返回值 intro1="+method2()); // 通过类名调用静态方法,打印 count StaticMethod.PrintCount(); } }
在静态方法 method1()中的 count=2 method1() 方法返回值 intro1=2 在静态方法 method2()中的 count=4 method2() 方法返回值 intro1=4 在静态方法 PrintCount()中的 count=6
Static code block
Example 3
public class StaticCode { public static int count = 0; { count++; System.out.println("非静态代码块 count="+count); } static { count++; System.out.println("静态代码块 count="+count); } public static void main(String[] args) { System.out.println("*************** StaticCode1 执行 ***************"); StaticCode sct1 = new StaticCode(); System.out.println("*************** StaticCode2 执行 ***************"); StaticCode sct2 = new StaticCode(); } }
静态代码块 count=1 *************** StaticCode1 执行 *************** 非静态代码块 count=2 *************** StaticCode2 执行 *************** 非静态代码块 count=3
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
二维码