安卓基础(静态方法)
静态方法的特点
无需实例化:直接用 类名.方法名()
调用。
不能访问实例成员:只能访问类的静态变量或静态方法。
内存中只有一份:随类加载而初始化,生命周期与类相同。
// 工具类 MathUtils
public class MathUtils {// 静态方法:计算平方public static int square(int num) {return num * num;}
}// 直接调用
int result = MathUtils.square(5); // 25
文件结构
src/
└── com/└── example/├── models/│ └── Counter.java // 包含静态和实例成员的类└── Main.java // 主类,测试代码
Counter.java(模型类)
package com.example.models;public class Counter {// 实例变量:每个对象独立拥有public int instanceCount = 0;// 静态变量:全局共享public static int staticCount = 0;// 实例方法:操作实例变量public void incrementInstance() {instanceCount++;}// 静态方法:操作静态变量public static void incrementStatic() {staticCount++;}// 错误示例:静态方法中尝试访问实例变量public static void badMethod() {// System.out.println(instanceCount); // 编译错误!不能访问实例成员}
}
Main.java(测试主类)
package com.example;import com.example.models.Counter;public class Main {public static void main(String[] args) {// 创建两个 Counter 对象Counter c1 = new Counter();Counter c2 = new Counter();// 操作实例变量(每个对象独立)c1.incrementInstance(); // c1.instanceCount = 1c2.incrementInstance(); // c2.instanceCount = 1// 操作静态变量(全局共享)Counter.incrementStatic(); // Counter.staticCount = 1Counter.incrementStatic(); // Counter.staticCount = 2// 输出结果System.out.println("c1 的实例变量: " + c1.instanceCount); // 1System.out.println("c2 的实例变量: " + c2.instanceCount); // 1System.out.println("静态变量: " + Counter.staticCount); // 2}
}
123