区别:静态方法可以通过“类名::方法名”直接调用;常用的方法需要创建一个实例,即新建一个对象,然后传递“对象名->方法名”。静态方法只能访问类中的静态成员;普通方法可以访问类中的任何成员。
本教程的操作环境:windows7系统,PHP 7.1版,DELL G3电脑
静态方法静态内存空间固定,相对节省资源。
创建实例创建实例是为了打开新的内存,消耗资源的静态方法属于类,可以在类实例化之前使用;
静态方法只能访问类中的静态成员;
静态内部只能出现静态变量和其他静态方法!而且像这样的关键字不能用在静态方法中,因为它属于整个类;
静态方法和静态变量在创建后总是使用相同的内存,而使用实例会创建多个内存。
普通方法可以访问类中的任何成员,因为类实例化之前可以使用静态方法,类中的非静态变量必须实例化后才能分配内存;
静态方法比实例化更有效。静态方法的缺点是不自动销毁,实例化的方法可以销毁。
主要区别是创建对象之前可以使用静态方法,非静态方法必须通过新对象调用。
静态方法可以通过类名::方法名直接调用。普通方法需要创建一个实例,即新建一个对象,然后传递对象名->方法名进行调用;静态类只能包含静态成员,否则会引发编译错误;
非静态类可以包含非静态成员和静态成员。静态类无法实例化,因为静态类会导致C#编译器同时将类标记为抽象和密封,编译器不会在类型中生成实例构造函数,从而导致静态类被实例化。
非静态类可以,静态成员只能通过类来访问,因为静态成员属于类。
推荐学习:《php视频教程》的细节是PHP静态方法和普通方法有什么区别,更多