天天看點

Java 的方法調用、對象調用

一般的,在Java語言中,調用方法有三種方式。

第一種:通過對象名.方法名進行調用,這是最普通的也是最常見的一種調用方式。

第二種:通過new關鍵字調用構造方法,這種是在執行個體化對象時使用的方式。

第三種:通過類名.方法名調用,當需要調用的那個方法為靜态(有static的)方法時使用。

Java 的方法調用、對象調用

一、靜态方法調用其他方法:

1. 靜态方法調用非靜态方法

無論是否在同一類内,均需要通過對象調用。

//Test類

package main;

public class Test {

    public void IsSon1(){//非靜态方法

        System.out.println("java大爺,你成功調用了你非靜态方法裡的兒子1");

    }

    public static void main(String[] args) {

        Test son1=new Test();//首先要定義一個變量

        son1.IsSon1();//靜态方法通過對象調用此類中的非靜态方法

        Son son=new Son();//靜态方法通過對象調用Son類中的非靜态方法

        son.IsSon();//調用 Son類中的IsSon方法

    }

}

//Son類

package main;

public class Son {

    public  void IsSon(){

        System.out.println("java大爺,你成功的調用了你另一個類裡的兒子");

    }//Son類裡的非靜态方法

}

運作結果:

Java 的方法調用、對象調用

2.靜态方法調用靜态方法

同一類内直接調用,不同類内直接通過類名.方法名(參數表)調用

package main;

public class Test {

    public static void IsSon2(){//靜态方法

        System.out.println("java大爺,你成功調用了你靜态方法裡的兒子2");

    }

    public static void main(String[] args) {

        IsSon2();//靜态方法直接調用類内的靜态方法

        Son.IsSon3();//靜态方法通過類名直接調用Son類中的靜态方法

    }

}

package main;

public class Son {

    public  static void IsSon3(){

        System.out.println("java大爺,你成功的調用了你另一個類裡的靜态兒子3");

    }//Son類裡的靜态方法

}

運作結果:

Java 的方法調用、對象調用

二、非靜态方法調用其他方法

1.非靜态方法在同一類内調用其他方法

在同一類内,非靜态方法可以直接調用靜态方法和非靜态方法

package main;

public class Test {

    public void Son1(){//非靜态方法

        System.out.println("java大爺,你成功調用了你非靜态方法裡的兒子1");

    }

    public static void Son2(){//靜态方法

        System.out.println("java大爺,你成功調用了你靜态方法裡的兒子2");

    }

    public void alloutput(){

        Son1();//非靜态方法直接調用類内的非靜态方法△

        Son2();//非靜态方法直接調用類内的靜态方法△

    }

    public static void main(String[] args) {

        Test test = new Test();

        test.alloutput();//前邊已學靜态方法通過對象調用非靜态方法

    }

}

運作結果:

Java 的方法調用、對象調用

2.非靜态方法在不同類之間調用其他方法

在不同類之間,非靜态方法需要通過對象才能調用非靜态方法。

非靜态方法既可以通過對象調用靜态方法又可以通過類名直接調用(由于對象的調用方式屬于非靜态調用方式,是以建議使用類名直接調用靜态方法)

package main;

public class Test {

    public void output(){

        Son.IsSon1();//通過類名直接調用Son類中的靜态方法,不建議使用對象調用靜态方法

        Son son = new Son();

        son.IsSon2();//通過對象調用Son類中的非靜态方法

    }

    public static void main(String[] args) {

        //同一類中的靜态方法調用非靜态方法output,前邊已經涉及到

        Test test = new Test();

        test.output();

    }

}

package main;

public class Son {

    public  static void IsSon1(){//Son類裡的靜态方法

        System.out.println("java大爺,你成功的調用了你另一個類裡的靜态兒子1");

    }

    public  void IsSon2(){//Son類裡的非靜态方法

        System.out.println("java大爺,你成功的調用了你另一個類裡的非靜态兒子2");

    }

}

Java 的方法調用、對象調用

原文連結:https://blog.csdn.net/plus_left/article/details/83663041