静态和对象方法有什么区别?它们在何处以及为何使用不同?我什么时候使用哪一个?
答案 0 :(得分:1)
使用对象方法,您需要实例化该类才能使用该方法,所以说Bark是一个对象方法
Dog myDog = new Dog(); myDog.Bark();
但现在让我们说Bark是一种静态的方法。我可以这样做: Dog.Bark();
因此静态方法适用于类,而不适用于对象。
当您想要创建一个全局实用程序类时,静态方法很有用。这样,您不需要传递对象只是为了在此实用程序类上使用方法。
答案 1 :(得分:0)
静态方法仅在内存空间中实例化一次。
答案 2 :(得分:0)
实例方法需要调用类的实例。实例引用可以被认为是一个不可见的第一个参数,可以使用C#,C ++和Java中的'this'关键字在方法中访问它。可以在没有类实例的情况下调用静态方法。如果它们作为参数传入,它们只能访问该类的实例。
作为一般经验法则,当方法对单个实例执行某些操作时,请使用实例方法。当方法对多个实例执行操作或不需要实例时,请使用静态方法。
答案 3 :(得分:0)
PHP manual对此非常简短。但是在{PHP 5 Power Programming“一书中很好地解释了static
: