php类名::class写法怎么用

<?php

/** @var \Illuminate\Database\Eloquent\Factory $factory */

use App\Models\User;
use Faker\Generator as Faker;

$factory->define(User::class, function (Faker $faker) {
    return [
        //
    ];
});

这种写法中User::class,会自动实例化这个类吗,这种写法的好处在哪里呢,看不太懂

User::class相当于class,并不会额外初始化
命名空间的好处是有多个代码,有重名的类,可以区分,不会冲突,这在多人开发的大项目中很有用。
https://blog.csdn.net/Mr_cq_/article/details/100885086