静态方法属于类本身,用static修饰、通过类名调用,不能访问非静态成员;语法为“访问修饰符 static 返回类型 方法名(参数列表) { }”,常见于工具类和main方法,不可体现多态,仅可被隐藏不可重写。

静态方法属于类本身,不依赖对象实例,直接通过类名调用,编写时需用 static 关键字修饰。
怎么编写静态方法
在方法返回类型前加上 static,且不能访问非静态成员(如实例变量、this、super)。
- 语法格式:访问修饰符 static 返回类型 方法名(参数列表) { 方法体 }
- 常见位置:工具类(如 Math、Arrays)、主方法 public static void main(String[] args)
- 错误示例:在静态方法中直接写 this.name 或调用普通成员方法——编译不通过
怎么调用静态方法
使用 类名.方法名(实参) 的方式,无需创建对象。
- 正确示例:Math.max(3, 5)、Collections.sort(list)
- 同一类中可省略类名,直接写方法名(如 main 中调用本类其他静态方法)
- 不可通过对象调用(如 obj.staticMethod() 虽能运行,但违背设计意图,IDE 通常警告)
静态方法的限制与注意点
它无法体现多态,也不能被重写(只能被隐藏),使用时需明确其生命周期和作用范围。
- 子类定义同名静态方法,不是重写,而是隐藏父类方法;调用取决于引用类型,而非实际对象类型
- 不能访问实例变量或调用实例方法(除非显式创建对象)
- 适合封装与状态无关的功能,比如字符串处理、数值计算、对象创建(工厂方法)等
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











