2016 - 2024

感恩一路有你

php性能优化 静态方法和非静态方法的区别是什么?

浏览量:2991 时间:2021-03-10 16:12:30 作者:admin

静态方法和非静态方法的区别是什么?

没有此项的静态方法不能引用非静态变量或方法,而只能引用其自身方法体中定义的成员和参数。子类不允许重写静态方法,但子类可以重写父类的静态方法。子类不能将父类中的非静态方法重写为静态方法。主要方法也是静态方法。要在主方法中访问类的成员变量和方法,需要在方法体中创建该类的对象

在创建对象之前可以使用静态方法,必须通过新对象调用非静态方法。

例如:

public class per{

public static string GetType(){

return “human”]}

]public string getname(){

return “Zhang San”]}

在没有新对象之前,可以这样使用上述类中的GetType方法:

string type=每种类型()//类型=“人类”

但是getname方法不能这样使用,编译也不会通过

getname必须是这样:

per P=new per()

string name=P.getname()//name=“Zhang San”

当然,GetType方法也可以通过object调用:

string Type=p.GetType()//Type=“human”

总之:

静态方法在创建实例之前存在,而非静态方法在创建对象之后存在。

静态方法和非静态方法的区别?

静态方法和非静态方法之间的区别总结如下:

1。静态方法属于一个类,可以在类实例化之前使用;

2。非静态方法可以访问类的任何成员,而静态方法只能访问类的静态成员;

3。因为静态方法可以在类实例化之前使用,而类中的非静态变量只能在类实例化之后使用分配内存;

4。静态变量和其他静态方法只能出现在静态方法中,而this和其他关键字不能在静态方法中使用,因为它属于整个类;

5。静态方法比实例化更有效。静态方法的缺点是它们不会自动销毁,但是实例化的方法可以销毁;

6。静态方法和静态变量在创建后总是使用相同的内存块进行销毁,而使用实例创建多个内存。主要区别:静态方法可以在创建对象之前使用,非静态方法必须通过新对象调用。例如:在没有新对象之前,publicclassper{publicstaticstringgettype(){return“human”}publicstringgetname(){return“Zhang San”}的上述类中的GetType方法可以这样使用:stringtype=每种类型()//type=“human”,但getname方法不能以这种方式使用。编译不会通过。Getname必须是这样的:perp=newper()stringname=p.Getname()//Na当然,GetType方法也可以通过对象调用:stringtype=p.GetType()//type=“human”

php性能优化 redis事务原子性 php教程

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。