This main class is initialized by the Bukkit framework and cannot be initialized again.

public class Demo extends JavaPlugin {
    public void onEnable() {

    }
}


How do I access its unique instance from other classes?

public class CoolDown extends BukkitRunnable {
    public CoolDown(Demo mainClass, int time) {

    }
    public void run() {

    }
}



Question: Does Improved Familiar feat apply to Urban Companions?
Answer: It is unlikely there is any firm documentation on this; web enhancements weren't the most well supported thing WotC did, and it came fairly late in the life cycle of 3.5.

That said, the line 'this is identical to the sorcerer's ability to summon a familiar' strongly suggests that it should. This is in many ways just like a class ability granting prerequisite feats like various cleric domains do, so you should meet the 'ability to summon a familiar' prerequisite of Improved Familiar, even if you don't call it a familiar.

However, you still have to meet all the other requirements, including alignment and class-level. And Rangers would still suffer from the equivalent-class-level reduction they normal suffer with animal companions (I don't have the source material in front of me, but I seem to recall ranger levels only counted as half a druid level for determining the companions available. The same would apply to Improved Familiars.)