实例方法和类方法都是类中区别与属性或者字段的方法,但是他们有着本质的不同:
举个例子:
public class A{
public static void pt(String s){
System.out.println("This is the method pt: "+s);
}
public void pt2(String s){
System.out.println("This is the method pt2: "+s);
}
public static void main(){
A.pt2("yeejamse");//没有实例化的情况下调用类方法pt2
A a = new A(); //实例化对象a
a.pt("uuwoxin"); //通过a.调用实例方法pt
a.pt2("yeejamse");//通过a.调用类方法
}
}
1. 类方法是静态的,他被虚拟机加载的时候在内存中仅仅存在一份独一无二的拷贝;
而实例方法你实例化某个对象的同时,会为对象中的该方法分配一段内存,每个实例一个;
这样如果想使用某个方法的时候,如果是实例方法,那就必须先实例化一个对象,而类方法则不必。
举个例子:
public class A{
public static void pt(String s){
System.out.println("This is the method pt: "+s);
}
public void pt2(String s){
System.out.println("This is the method pt2: "+s);
}
public static void main(){
A.pt2("yeejamse");//没有实例化的情况下调用类方法pt2
A a = new A(); //实例化对象a
a.pt("uuwoxin"); //通过a.调用实例方法pt
a.pt2("yeejamse");//通过a.调用类方法
}
}