oop - OOP中的静态方法

标签 oop static

我一直都知道静态方法的定义是什么,但是我总是避免在学校使用它们,因为我担心自己不知道的东西。

我已经知道您可以在整个项目中将其用作计数器。

现在我正在实习,我想知道何时使用完全静态的方法。到目前为止,从我的观察来看,当静态类/方法包含许多将在许多不同类中使用的函数并且本身在该类内不需要包含过多的关键局部变量(无需创建即时变量)时,便会使用该类/方法它的。

因此,作为一个示例,您可以有一个名为Zip的静态类,该类可对文件进行压缩和解压缩,并将其提供给许多不同的类,以供他们使用它们进行处理。

我对吗?我有正确的主意吗?我敢肯定,有很多方法可以使用它。

最佳答案

静态函数非常有用,因为它们不依赖于它们所附加的任何类的实例化成员。

静态函数可以提供与特定类相关的功能,而无需程序员首先创建该类的实例。

查看此比较:

class Numbers
{
    public int Add(int x, int y)
    {
        return x + y;
    }

    public static int AddNumbers(int x, int y)
    {
        return x + y;
    }
}

class Main
{
    //in this first case, we use the non-static version of the Add function
    int z1 = (new Numbers()).Add(2, 4);

    //in the second case, we use the static one
    int z2 = Numbers.AddNumbers(3, 5);
}

关于oop - OOP中的静态方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35089576/

相关文章:

Java:从 GUI 获取值

java - 使用仅具有默认方法的接口(interface)作为实用程序类的替代品

java - 使匿名类静态 - 通过静态方法

scala - 什么取代了 scala 中的类变量?

C++ 二维数组类函数调用帮助

Java - 父类(super class)(继承)与父类(无继承)

java - 如何覆盖方法以调用父类(super class)的父类(super class)方法?

c++ - 函数比较器可以是静态函数吗?

c++ - 所有常量都有静态持续时间吗?

c++ - 共享库中的 QMessageBox 抛出错误