静态成员属于类,被所有实例共享,通过类名访问;实例成员属于对象,每个对象独立拥有,需通过对象调用。
在Java中,静态成员和实例成员的区别核心在于所属对象不同:静态成员属于类本身,实例成员属于具体的对象实例。理解这一点是掌握Java面向对象编程的关键基础。
静态成员使用 static 关键字修饰,包括静态变量、静态方法和静态代码块。它们的特点是:
例如:
public class Counter {
static int count = 0; // 静态变量
public Counter() {
count++;
}
public static void showCount() {
System.out.println("共创建了 " + count + " 个对象");
}
}
调用方式:Counter.showCount(); —— 不需要 new 对象。
实例成员没有 static 修饰,包括实例变量和实例方法。它们的特点是:
例如:
public class Person {
String name; // 实例变量
public void introduce() {
System.out.println("我是 " + name);
}
}
调用方式:
Person p1 = new Person(); p1.name = "张三"; p1.introduce(); // 必须先创建对象
基本上就这些。搞清楚“类”和“对象”的关系,就能自然理解静态与实例的本质差异。不复杂但容易忽略细节,建议结合内存模
型加深理解。