
Java静态方法定义
在java中静态方法是指被static修饰的成员方法就是Java静态方法。
/**
*在方法前面加入static
*/
public static long add(long i, long j) {
return i + j;
}
与静态变量相似,用static修饰符修饰的方法属于类的静态方法,又称为类方法。
静态方法的实质是属于整个类的方法,而不加static修饰的方法是属于某个具体对象的方法,因此在静态方法中不能使用this关键字,也不能直接访问所属类的实例变量和实例方法,但是可以直接访问所属类的静态变量和静态方法。
Java静态方法格式
当 static 修饰成员方法时,该方法称为静态方法 ,静态方法在声明中有 static ,可直接使用类名来调用,格式如下:
修饰符 static 返回值类型 方法名 (参数列表){
//执行语句
}
修饰后,代码如下:
public static void hello() {
System.out.println("hello world!");
}
Java静态方法调用
静态方法的调用格式:
类名.方法()
调用后,代码如下:
MethodTest01.add(20,60);
静态方法调用的注意事项:
- 静态方法可以直接访问类变量和静态方法。
- 静态方法不能直接访问普通成员变量或成员方法。反之,成员方法可以直接访问类变量或静态方法。
- 静态方法中,不能使用this关键字。
静态方法与实例方法的区别
- 非static的方法是属于某个对象的方法,在创建这个对象时,对象的方法在内存中拥有属于自己的代码段;
- 而static的方法是属于整个类的方法,它在内存中的代码段被所有的对象所拥有,而不被任何一个对象所专有;
- 由于static方法是属于整个类的方法,故不能直接操作和处理属于某个对象的成员,而只能处理整个类的成员,即static方法只能访问static成员变量或调用static成员方法;
- 在静态方法中不能使用this或super关键字,因为this代表调用该方法的对象,但现在静态方法不需要对象来调用;
- 调用静态方法时,可以使用类名称来调用,或使用某一个具体对象名来调用,格式如下:
(1)类名称.静态方法名(); (2)对象名.静态方法名();
Java静态方法举例
import java.util.*;
public class TestStatic {
public static void main(String[]args){
System.out.println(S.getStatic());//使用类名加前缀访问静态方法
S s=new S();
System.out.println(s.getStatic());//使用实例化对象名访问静态方法
System.out.println(s.get());
}
public static class S
{
private static int a;
private int t=0;
//静态初始器:由static和{}组成,只在类装载的时候(第一次使用类的时候)执行一次,往往用来初始化静态变量。
static{
a=10;
}
//静态方法只能访问静态数据成员
public static int getStatic()
{
return a;
}
public int getT()
{
return t;
}
//非静态方法可以访问静态方法和非静态方法
public int get()
{
getT();
getStatic();
t=a;//非静态方法可以访问非静态数据成员和静态数据成员
return t;
}
}
}
mikechen睿哥
10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。