java static关键字静态方法详解,静态方法实例分享

KLQ 2020-09-11 10:33:19 java常见问答 6742

之前给大家介绍了一下java static关键字静态变量,那么下面要接着给大家介绍的就是静态方法,主要有成员方法涵盖内容以及静态方法与实例方法的区别以及实例介绍。

和成员变量相似,成员方法也能够分成下面的2种:

一个是静态方法,静态方法又被叫做是类方法,它指的是被static修饰的成员方法,另外一个就是实例方法,它指的是没有被static修饰的成员方法。

下面来了解一下静态方法与实例方法的区别吧:

1、静态方法不需要通过它所属的类的任何实例就可以被调用,所以,在静态方法当中不能使用this关键字,this( )访问构造方法,也不能直接访问所属类的实例变量和实例方法,但是可以直接访问所属类的静态变量和静态方法。

除此之外,和this关键字相同,super关键字也和类的特定实例相关,所以在静态方法当中也不能使用super关键字。

2、在实例方法当中能够直接访问所属类的静态变量、静态方法、实例变量和实例方法。

示例:

创建一个带静态变量的类,添加几个静态方法对静态变量的值进行修改,之后,在main( )方法当中调用静态方法并输出结果。

public class StaticMethod
{
    public static int count = 1; // 定义静态变量count
    public int method1()
    {
        // 实例方法method1
        count++; // 访问静态变量count并赋值
        System.out.println("在静态方法 method1()中的 count=" + count); // 打印count
        return count;
    }
    public static int method2()
    {
        // 静态方法method2
        count += count; // 访问静态变量count并赋值
        System.out.println("在静态方法 method2()中的 count=" + count); // 打印count
        return count;
    }
    public static void PrintCount()
    {
        // 静态方法PrintCount
        count += 2;
        System.out.println("在静态方法 PrintCount()中的 count=" + count); // 打印count
    }
    public static void main(String[] args)
    {
        StaticMethod sft = new StaticMethod();
        // 通过实例对象调用实例方法
        System.out.println("method1() 方法返回值 intro1=" + sft.method1());
        // 直接调用静态方法
        System.out.println("method2() 方法返回值 intro1=" + method2());
        // 通过类名调用静态方法,打印 count
        StaticMethod.PrintCount();
    }
}

运行结果:

在静态方法 method1()中的 count=2
method1() 方法返回值 intro1=2
在静态方法 method2()中的 count=4
method2() 方法返回值 intro1=4
在静态方法 PrintCount()中的 count=6

在这个程序当中,静态变量count作为实例之间的共享数据,所以,在不同的方法当中调用count,值是不一样的。

从这个程序当中可以看出,在静态方 method1()和PrintCount()当中,是不可以调用非静态方法method1()的,而在method1()方法当中可以调用静态方法method2()和PrintCount()。

注意,在访问非静态方法的时候,需要通过实例对象来访问,而在访问静态方法的时候,可以直接访问,也可以通过类名来访问,还可以通过实例化对象来访问。

关于静态方法的一些知识以及相关实例就给你分享到这里了,更多java入门内容以及java程序代码例子,请继续来本站进行了解吧。

推荐阅读:

java static关键字静态代码块详解,实例分享

java static关键字静态变量实例分享

java static关键字静态变量详解,静态变量和实例变量区别介绍