关于静态方法和非静态方法的相互调用

静态方法和非静态方法的相互访问

 
 
class TT {
	public void play() {
		System.out.println("TT play");
	}
}

public class MainTest {
	TT t = new TT();
	public void go() {
		System.out.println("is going");
	}
	
	public static void main(String[] args) {
		t.play();
		go();
	}
}

 
 

 
 类的静态成员(变量和方法)属于类本身,在类加载的时候就会分配内存,可以通过类名直接去访问;非静态成员(变量和方法)属于类的对象,所以只有在类的对象产生(创建类的实例)时才会分配内存,然后通过类的对象(实例)去访问。 
 
静态方法对非静态方法发起调用时,需实例化包含非静态方法的类的对象。

静态成员函数或方法是在类初始化时加载完成。

静态方法加载完成后,对象可能未建立,所以为静态不能调用非静态,编译会报错。

静态可以调用静态 非静态既可以调用静态也可以调用非静态。


猜你喜欢

转载自blog.csdn.net/qq_37365385/article/details/80774643
今日推荐