1.什么是实例方法vs类方法?
声明方法时,方法类型前面不使用static修饰的是实例方法(也叫对象方法),用static修饰的是类方法
class Student{
int sum(int a,int b) {//实例方法
return a+b;
}
static void run() {//类方法
...
}
}
2.两者区别
类方法在类被 JVM 虚拟机加载进内存的时候就会为其分配入口地址,实例方法不会分配入口地址,只有当对象被创建后才为其分配入口地址,所以类方法中不能调用关于实例方法的任何东西
1)类方法只能访问类变量 ,实例方法可以访问类成员变量和实例变量
2)类方法的调用可以通过类名.类方法和对象.类方法,而实例方法只能通过对象.实例方法访问
3)类方法不能被覆盖,实例方法可以被覆盖