- 由static修饰的变量、常量和方法被称做静态变量、常量和方法。
静态成员属于类所有,区别与个别对象,可以在本类或其他类使用类名和“.”运算符调用静态成员。
语法
类名.静态类成员
public class StaticTest {
static double PI = 3.14; //在类中定义静态常量
static int id; //在类中定义静态变量
public static void method1() {
//dongSomething
}
public void method2() {
System.out.println(StaticTest.PI); //调用静态常量
System.out.println(StaticTest.id); //调用静态变量
StaticyTest.method1(); //调用静态方法
}
}
- 静态成员与静态方法的作用通常是为了提供共享数据或方法。
public class StaticTest {
static double PI = 3.1415;
static int id;
public static void method1() {
//doingSomethring
}
public void method2() {
System.out.println(StaticTest.PI);
System.out.println(StaticTest.id);
StaticTest.method1();
}
public static StaticTest method3() {
method2(); //错误,静态方法不能调用非静态方法或属性
return this; //错误,静态方法中不可以使用this关键字
}
}
- 静态方法中不可以使用this关键字
- 在静态方法中不可以直接调用非静态方法
- 在Java中不能讲方法体内的局部变量声明为static
- 静态代码块优先于主方法执行,而在类中定义的静态代码块会优先于构造块执行,而且不管有多少个对象产生,静态代码快直执行一次。
- 静态变量处于虚拟机内存的方法区中,只有一份。
本文详细介绍了Java中静态成员的概念及用途,包括静态变量、常量和方法的特点与使用方式,并解释了静态方法与非静态方法之间的调用限制,以及静态代码块的执行时机。
1201

被折叠的 条评论
为什么被折叠?



