Can we have user defined component in UVM?

Can we have user defined component in UVM ?

Yes. a

uvm_component

is a base type that only includes the infrastructure code. For it to be useful, you must extend it to add in your application-specific code. Similarly, the

uvm_driver

and

uvm_monitor

(and other) built-in components in UVM must be extended to include your application-specific code.
If you just had a testbench with UVM base classes, nothing would actually happen.