Java实例方法和类方法的区别

类方法就是静态方法。其它的就是实例方法

实例方法可以对当前对象的实例变量进行操作,也可以对类变量进行操作,但类方法不能访问实例变量。实例方法必须由实例对象来调用,而类方法除了可由实例对象调用外,还可以由类名直接调用。

另外,在类方法中不能使用 this 或 super。 关于类方法的使用,有如下一些限制:

1 在类方法中不能引用对象变量。

2 在类方法中不能使用super、this关键字。

3 类方法不能调用类中的对象方法。

与类方法相比,实例方法几乎没有什么限制:

1 实例方法可以引用对象变量(这是显然的),也可以引用类变量。

2 实例方法中可以使用super、this关键字。

3 实例方法中可以调用类方法。

class Super {
 private static void a() {
 }//类方法
 
 public static void b() {
 }//类方法
 
 public void c() {
 }//实例方法
 
 private void d() {
 }//实例方法
}
 
public class Son extends Super {
 public static void main(String args[]) {
 Super s = new Super();
 Super.a();//错误,因a为私有的类方法,外类不可访问
 Super.b();//正确,b为公有类方法,外类可用 类名.方法名 访问
 s.c();//c为公有实例方法,外类可用 实例名.方法名 访问
 s.d();//A误,因d为私有实例方法,外类不可访问
 }
}
原文地址:https://www.cnblogs.com/umrx/p/7482948.html