1. 程式人生 > >Java靜態方法呼叫非靜態方法

Java靜態方法呼叫非靜態方法

靜態方法(static mehod)不能直接呼叫非靜態方法(non-static method),可以通過一個物件的引用傳入靜態方法中,再去呼叫該物件的非靜態方法。在主函式(static方法)中,經常建立某個類的例項,再利用其引用變數呼叫他的非靜態方法。

public class staticMethodTest {
	void nonStaticMethod() {
		System.out.println("This is a non static method");
	}
	static void staticMethod(staticMethodTest s) {
		System.out.println("This is a static method");
		s.nonStaticMethod();
	}
	public static void main(String[] args) {
		staticMethodTest obj=new staticMethodTest();
		staticMethod(obj);
	}
}

在類中建立一個非靜態方法,該方法輸出一個九九乘法表

package work1;
import java.util.*;
public class mul {
	void mulTable()
	{
		int i=1;
		while(i<=9) {
			int j=1;
			while(j<=i) {
				System.out.print(j+"*"+i+"="+i*j+" ");
				j++;
			}
			System.out.println();
			i++;
		}
	}
	static void print(mul s) {
		s.mulTable();
	}
	public static void main(String[] args) {
		mul obj = new mul();
		print(obj);
	}
}