// 定义一个包含 static 成员的类
public class StaticExample {
// 静态变量,属于类本身,所有实例共享同一份数据
public static int count = 0;
// 非静态变量,每个实例都有自己独立的一份数据
private int instanceVar;
// 静态方法,可以直接通过类名调用,不能访问非静态成员
public static void staticMethod() {
System.out.println("This is a static method.");
// 下面这行代码会报错,因为静态方法不能直接访问非静态成员
// System.out.println(instanceVar);
}
// 非静态方法,需要创建对象后才能调用,可以访问静态和非静态成员
public void instanceMethod() {
System.out.println("This is an instance method.");
// 可以访问静态变量
System.out.println("Count: " + count);
// 也可以访问非静态变量
System.out.println("Instance variable: " + instanceVar);
}
// 构造方法,每次创建新对象时都会调用
public StaticExample() {
// 每次创建新对象时,静态变量 count 自增
count++;
instanceVar = count * 10;
}
public static void main(String[] args) {
// 直接调用静态方法,不需要创建对象
StaticExample.staticMethod();
// 创建对象并调用实例方法
StaticExample example1 = new StaticExample();
example1.instanceMethod();
// 再次创建对象,观察静态变量的变化
StaticExample example2 = new StaticExample();
example2.instanceMethod();
// 打印静态变量的值,验证它是被所有实例共享的
System.out.println("Static variable 'count': " + StaticExample.count);
}
}
静态变量 (static):count 是一个静态变量,它属于类本身而不是某个特定的对象。所有实例共享同一个 count,因此当创建多个对象时,count 的值会累加。
静态方法 (static):staticMethod() 是一个静态方法,可以通过类名直接调用,而不需要创建对象。静态方法只能访问静态变量或静态方法,不能直接访问非静态成员。
非静态方法:instanceMethod() 是一个非静态方法,必须通过对象来调用。它可以访问静态和非静态成员。
构造方法:每次创建新对象时,构造方法会被调用,并且 count 会自增,instanceVar 的值根据 count 计算。
main 方法:main 方法是程序的入口点,演示了如何调用静态方法和创建对象来调用实例方法。
下一篇:java @component
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站