Java中静态方法和非静态方法的调用是有区别的。
①静态方法可以直接调用,如下冒泡排序,只需将冒泡方法设为static方法即可直接调用。
1 public class BubbleSort {
2 public static void main(String[] args) {
3 int[] a = {6,5,4,3,2,1,23,14,747};
4 /* 调用bubbleSort方法:直接调用需将bubbleSort设为静态方法 */
5 bubbleSort(a);
6 System.out.println(Arrays.toString(a));
7 }
8 public static void bubbleSort(int[] a) {
9 int temp;
10 for (int i = a.length - 1; i > 0; i--) {
11 for(int j = 0; j < i; j++) {
12 if(a[j] >= a[j+1]) {
13 temp = a[j+1];
14 a[j+1] = a[j];
15 a[j] = temp;
16 }
17 }
18 }
19 }
20 }
② 非静态方法的调用,需要使用对象来调用。还是冒泡排序示例,如下
1 public class BubbleSort {
2 public static void main(String[] args) {
3 int[] a = {6,5,4,3,2,1,23,14,747};
4 /* 使用对象调用非静态方法时bubbleSort方法就不需要设为static */
5 BubbleSort bs = new BubbleSort();
6 bs.bubbleSort(a);
7 System.out.println(Arrays.toString(a));
8
9 }
10 public void bubbleSort(int[] a) {
11 int temp;
12 for (int i = a.length - 1; i > 0; i--) {
13 for(int j = 0; j < i; j++) {
14 if(a[j] >= a[j+1]) {
15 temp = a[j+1];
16 a[j+1] = a[j];
17 a[j] = temp;
18 }
19 }
20 }
21 }
22 }