静态方法属于类,通过类名调用,只能访问静态成员;非静态方法属于实例,需创建对象后调用,可访问所有成员。1. 静态方法使用static修饰,非静态方法不使用。2. 静态方法可直接通过类名调用,非静态方法需通过对象调用。3. 静态方法只能访问静态成员,非静态方法可访问全部成员。4. 静态方法不能使用this或super,非静态方法可以。5. 静态方法在类加载时分配内存,非静态方法在创建对象时分配。6. 工具类方法适合静态,操作对象状态的方法应为非静态。7. 静态方法无法被重写,但可被隐藏。

静态方法和非静态方法是Java中定义在类中的两种不同方法类型,它们在使用方式、内存分配和访问权限上有明显区别。
静态方法(Static Method)
静态方法属于类本身,不依赖于类的实例。可以通过类名直接调用,不需要创建对象。
特点:- 使用 static 关键字修饰
- 可以直接通过 类名.方法名() 调用
- 只能访问类的静态成员(静态变量和其他静态方法)
- 不能使用 this 或 super
- 在类加载时就分配内存,生命周期较长
public class MathUtils {
public static int add(int a, int b) {
return a + b;
}
}
// 调用
int result = MathUtils.add(3, 5);
非静态方法(Non-Static Method)
非静态方法属于类的实例,必须创建对象后才能调用。也称为实例方法。
[PHP房产程序|BBWPS]功能介绍 1、5种信息类别发布:出租、求租、出售、求购、楼盘信息,支持会员发布信息审核; 2、灵活的信息参数设置; 3、充足的信息字段; 4、简单易用的发布/编辑功能,支持配图上传; 5、灵活的信息管理功能; 6、信息输出伪静态,方便搜索引擎抓取数据; 7、支持RSS输出; 8、内置数据高速缓冲技术,可灵活设置缓冲功能是否启动及过期时间; 9、支持 Google 地图
- 没有 static 修饰
- 必须通过对象调用:对象名.方法名()
- 可以访问静态和非静态成员(变量和方法)
- 可以使用 this 引用当前实例
- 在创建对象时分配内存,随对象销毁而释放
public class Person {
private String name;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
// 调用
Person p = new Person();
p.setName("Alice");
System.out.println(p.getName());
使用建议
根据实际需求选择合适的方法类型:
立即学习“Java免费学习笔记(深入)”;
- 工具类方法(如数学计算、字符串处理)适合定义为静态方法
- 涉及对象状态或属性操作的方法应定义为非静态方法
- 避免在静态方法中尝试访问非静态成员,会编译报错
- 静态方法无法被重写(Override),但可以被隐藏










