If you are posting compiler errors, you are in the wrong place. You want a learning java forum.
You also don't understand how static initalisation or suppliers/deferred access works.
https://forums.minecraftforge.net/topic/122471-custom-boat-119/#comment-538014
https://forums.minecraftforge.net/topic/123532-crash-in-my-mods-fluid-setup-class-what-am-i-doing-wrong-here-solved/#comment-536786
or you can search to find the many other threads where this is discussed.
The correct code uses RegistryObjects properly - something like (untested pseudo code)
public static final DeferredRegister<Block> BLOCKS = ...
// Use a registry object
public static final RegistryObject<Block> VOLCANIC_SANDSTONE_STAIRS = BLOCKS.register("volcanic_sandstone_stairs",
// deferred access to the constructor - you can't create the actual blocks until the RegisterEvent happens
() -> new StairBlock(
// VOLCANIC_SANDSTONE is a RegistryObject<Block>/Supplier<Block> so you use get() for the real Block.
VOLCANIC_SANDSTONE.get().defaultBlockState(),
BlockBehaviour.Properties.copy(VOLCANIC_SANDSTONE.get()));
You will also need to make sure the VOLCANIC_SANDSTONE RegistryObject is registered with the DeferredRegister before the stairs, otherwise those get()s will fail.