欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

静态方法调用等价于new对象吗

程序员文章站 2022-05-01 15:34:00
...
看别人写的一个例子,似乎使用了静态调用后,就等价于new了一个对象了,不过从道理上怎么也没有理解
这到底是为什么呢


回复讨论(解决方案)

getDB里面实现了new 实例,返回的就是一个实例,所以就能用query()
静态方法是常驻内存的,调用要快一点,但是里面不能用 $this ,因为只有 new 实例以后才能用 $this

DB::getDB() 返回了一个 DB 的实例
你看看 getDB 方法的定义就清楚了

DB::getDB()
等价
$db = new DB();
$db->getDB();

具体要看如何定义方法