java中带static的成员变量和方法有何作用?

2025-10-31 17:18:59

1、      首先,认识由这几个关键修辞的成员变量和成员方法,形成的4类成员变量和4类成员方法。

    4类成员变量:

public static 数据类型  成员变量名;-------公共的、静态的成员变量。

public 数据类型  成员变量名;------公共的、非静态的成员变量。

private static 数据类型  成员变量名;------私有的、静态的成员变量。

private  数据类型  成员变量名;--------私有的非静态的成员变量。

     4类成员方法:

public static 数据类型  成员方法名(){  }-------公共的、静态的成员方法。

public 数据类型  成员方法名(){  }-----公共的、非静态的成员方法。

private static 数据类型  成员方法名(){  }-----私有的、静态的成员方法。

private  数据类型  成员方法名(){  }------私有的非静态的成员方法。

2、       其次,要知道,创建好的成员变更,只有当它们在方法里面被访问时,才能起作用。另外,原则上一个方法是可以调用另一个方法的。但是有了这些关键字修辞的成员变量和成员方法,它们能否在另一方法中被访问到,被调用到呢?

      以下是实例

3、step1:新建一个类(本例类名:MethodVisitMethod)。8个成员方法,1个主方法main() 它是用来测试验证。

    

4、step2:代码如下

/**

  * 本实例探究一个方法访问其它成员方法有什么的规律

 */

public class MethodVisitMethod {

    //create 主方法

    public static void main(String[] args) {

        System.out.println("综合测试结果,得出如下结论:");

        System.out.println("1.静态的方法只能调用到静态的成员方法。");

        System.out.println("2.非静态的方法可以调用到静态的和非静态的方法。");

    }

    //create 公有、静态的方法

    public static void show_1() {

        int a = 10;

        int b = 20;

        int c = a + b;

        System.out.println(c);

    }

    //create 私有、静态的方法

    private static void show_2() {

        int a = 10;

        int b = 20;

        int c = a * b;

        System.out.println(c);

    }

    //create 公有的、非静态的方法

    public void show_3() {

        int a = 10;

        int b = 20;

        int c = a / b;

        System.out.println(c);

    }

    //create 私有、非静态的方法

    private void show_4() {

        int a = 10;

        int b = 20;

        int c = a - b;

        System.out.println(c);

    }

    //create 测试方法

    public static void test_1() {

        show_1();

        show_2();

        //show_3();//无法从静态上下文中引用非静态 方法 show_3()

        //show_4();//无法从静态上下文中引用非静态 方法 show_4()

        //说明公有、静态的方法只能调用静态的方法。

    }

    private static void test_2() {

        show_1();

        show_2();

        //show_3();//无法从静态上下文中引用非静态 方法 show_3()

        //show_4();//无法从静态上下文中引用非静态 方法 show_4()

        //说明私有、静态的方法只能调用静态的方法。

    }

    public void test_3() {

        show_1();

        show_2();

        show_3();

        show_4();

        //说明公有、非静态的方法可以调用静态的和非静态的方法。

    }

    private void test_4() {

        show_1();

        show_2();

        show_3();

        show_4();

        //说明私有、非静态的方法可以调用静态的和非静态的方法。

    }

   /*

   * 综合以下测试,可得出如下结论:

   * 1.静态的方法只能调用到静态的成员方法。

   * 2.非静态的方法可以调用到静态的和非静态的方法。

    3 .成员方法调用另一成员方法取决于两者的static,与它们的public\private无关。

   * */

}

    

5、step3:新建一个类(本例类名:MethodVisitVariable)

本类由4个成员变量,4个成员方法,1个主方法main()组成

java中带static的成员变量和方法有何作用?

6、代码如下

/**

 * 本实例探究一个方法访问成员变量的规律

 */

public class methodVisitVariable {

    public static void main(String[] args){

        System.out.println("综合测试结果,可以得出结论:");

        System.out.println("1.静态方法只能访问静态的成员变量。");

        System.out.println("2.非静态的方法可以访问静态的和非静态的成员变量。");

    }

    //satement variable

    public static String a1;

    private static  String a2;

    public String a3;

    private  String a4;

    //create method

    public static void call_1(){

        String a=a1;

        String b=a2;

        //String c=a3;

       // String d=a4;

        //说明公有、静态的方法只能访问静态的成员变量。

    }

    // create method

    private static void call_2(){

        String a=a1;

        String b=a2;

       // String c=a3;

       // String d=a4;

        //说明私有、静态的方法只能访问静态的成员变量。

    }

    // create method

    public void call_3(){

        String a=a1;

        String b=a2;

        String c=a3;

        String d=a4;

        //说明公有、非静态的方法可以访问静态的和非静态成员变量。

    }

    //create method

    private void call_4(){

        String a=a1;

        String b=a2;

        String c=a3;

        String d=a4;

        //说明私有、非静态的方法可以访问静态的和非静态成员变量。

    }

}

    /*测试方法是逐个方法进行测试,取消前各个被调用的方法前面的注释符//,运行main方法。对多次行动的结果进行归纳总结:得出如下规律:(如图所示)

  在同一类中,成员方法想去调用其它的成员变量,权限是:

  1.静态成员方法只能访问静态的成员变量。

  2.非静态成员方法可以访问所有的成员变量

  3.成员方法访问成员变量取决于两者的static,与它们的public\private无关。

*/

java中带static的成员变量和方法有何作用?

7、最后总结:

1、一个静态的成员方法只能访问(调用)静态的成员变量和静态的成员方法。

2、一个非静态的成员方法可以访问(调用 )静态和非静态的成就变量。也可以调用静态的和非静态的成员方法。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢