java基础技术知识点总结——static关键字

xiaoxiao2021-02-28  83

class StaticTest{ static int i = 47;//静态成员变量,无论创建多少个StaticTest对象,都共享同一个i。 } StaticTest s1 = new StaticTest(); StaticTest s2 = new StaticTest();// s1.i和s2.i指向同一存储空间。 还可以直接通过类名引用: StaticTest.i //同样指向该存储空间,注意如果非静态成员变量则无法通过类名直接引用。 class Incrementable{ int i; static void increment(){ StaticTest.i++;//静态方法可以通过类名直接引用静态变量。 nonStatic();//注意,编译器将报错,静态方法无法调用非静态方法。 i++;//同上,编译器将报错,静态方法无法调用非静态成员变量。 } void nonStatic(){ increment();//反之编译通过,非静态方法可以调用静态方法。 } } 静态方法可以这么调用: Incrementable i = new Incrementable(); i.increment(); 或者: Incrementable.increment(); 除了静态变量和静态方法,还有静态常量、静态代码块、静态导入: import static java.lang.System.* //静态导入,导入该包后可以使用静态域(静态成员变量)和静态方法,而且不必加类名前缀,例如System.out.println()可以写成out.println()。 class Math{ public static final double PI = 3.14159;//静态常量 static{//静态代码块 out.println();//静态导入System包 } }
转载请注明原文地址: https://www.6miu.com/read-45187.html

最新回复(0)