Class :: new和Class#new相同吗?

Bax*_*ter 2 ruby

该类Class的类方法版本为new,实例方法版本为new。但是因为Class是的实例,Class不是使new实例方法版本的类方法版本new吗?

当我看到以下内容时

>> Class.new
=> #<Class:0x00007fca601fe898>
Run Code Online (Sandbox Code Playgroud)

我认为Class对象是的实例,Class所以new是该类的实例方法Class。然后new是该类的一个类方法Class

con*_*n-- 5

Class :: newClass#new不同。

Class::new使用给定的超类创建一个新的匿名(未命名)类。
Class.new调用allocate创建类的类的新对象,然后调用该对象的initialize方法,并将其传递给args。

如果单击上面docs链接上的切换源,则可以看到。

基本上Class.new,ruby中的所有其他类都继承默认的初始化程序。
Class::new创建一个新的匿名类。