Class self reference vs this

Dear Forum,

I want your thought about self reference vs this.
For example this code is completely fine in point of LRM:

class axi_seq_item ;
   axi_seq_item cmd_item; // self reference to command
   rand bit[31:0] id;
   rand int       itype;

 function new (string name = "axi_seq_item");
 endfunction

My question is why someone needs to use self reference?

axi_seq_item cmd_item;

why system verilog “this” is not enough?

Can you please share your thoughts.

Thanks
Hayk

In reply to haykp:

The self-reference you show is declaring a class variable of the current type. That class variable usually holds a handle to a different object. Structures like trees and linked lists are built this way.

The keyword this is for an entirely different purpose. “this” is an implicit argument to non-static class methods containing a handle to the class object that invoked the method.