java中静态方法和非静态方法的区别

静态方法和非静态方法主要有两个区别:

1.在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式。而实例方法只有后面这种方式。也就是说,调用静态方法可以无需创建对象。

2.静态方法在访问本类的成员时,只允许访问静态成员(即静态成员变量和静态方法),而不允许访问实例成员变量和实例方法;实例方法则无此限制。

public class Per{
public static String getType(){
return "人类";
}
public String getName(){
return "张三";
}
}

上面类中的getType()方法在没有初始化之前是可以通过类名.方法(Per.getType())调用的,而getName()方法则必须实例化之后才能调用这个函数

Per p=new Per();
String name=p.getName();

当然静态方法在初始化之后也可以通过对象.方法调用

一旦静态对象被初始化了,那么他们永远也不会再被初始化,也就是初始化只会执行一次!只会分配一次空间。

猜你喜欢

转载自blog.csdn.net/GHL1996/article/details/84074002
今日推荐