实例方法相对于静态方法(或者叫类方法)而言,它就是没有 static 前缀的一类一般方法,被对象拥有(这也是称之为“实例”方法的原因)。
特点是定义的时候前面没有 static 前缀,本类中直接调用的时候必须也在实例方法内,否则调用前必须先实例出一个对象。例如:
class A {
public void instanceMethod () {
System.out.println("这是一个实例方法。")
}
public static void staticMethod () {
System.out.println("这是一个静态方法。")
instanceMethod() //这样是错的。
new A().instanceMethod() //只有这样才对。
}
}
class B {
public void callInstanceMethod () {
new A().instanceMethod() //调用一个 A 实例的实例方法。
A.staticMethod() //调用一个 A 的静态方法。
}
}
1、用new语句创建对象,这是最常见的创建对象的方法。2、通过工厂方法返回对象,如:String str = String.valueOf(23)
3、运用反射手段,调用java.lang.Class或者java.lang.reflect.Constructor类的newInstance()实例方法。如:Object obj = Class.forName("java.lang.Object").newInstance()
4、调用对象的clone()方法。
5、通过I/O流(包括反序列化),如运用反序列化手段,调用java.io.ObjectInputStream对象的 readObject()方法。