Java中以static关键字修饰的方法称为类方法,实例化一个类,引用的普通方法称为实例方法
1、类方法是属于整个类,而不属于某个对象。
2、类方法只能访问类成员变量,不能访问实例变量,而实例方法可以访问类成员变量和实例变量。
3、类方法的调用可以通过类名.类方法和对象.类方法,而实例方法只能通过对象.实例方法访问。
4、类方法只能访问类方法,而实例方法可以访问类方法和实例方法。
5、类方法不能被覆盖,实例方法可以被覆盖。
Eg:
class Person{
private String name;
public static Person newInstance(String name){
this.name = name;
}
public Person(String name){
this.name = name;
}
public void say(){
System.out.println("Hello, I'm " + name);
}
}
上述:在实例化Person时,可以使用以下方法:
Person p1 = new Person(“fox”);
也可以使用:
Person p2 = Person.newInstance(“china”);
这里,p1和p2都是实例化的对象,其中p2的实例化手段就是采用静态方法即类方法
p1.say()会输出Hello, I’m fox 这里,say()方法就是实例方法
p2.say()会输出Hello, I’m china 可以看到,实例方法出来的结果不一定一样。