The answer is NO! You may want to look into using the 'protected' keyword.
See also, 'internal protected' for non-methods, if working with multiple assemblies.
See also, 'private protected' for abstract methods within your base class for example.
Then in your derived class, you can hide those methods from that of which is outside your derived class.
There is a way to do it via reflection or expression trees, but its explicit and it requires some work.
You can do this similarly with properties, fields, ect... as shown here.
BTW, whomever keeps using the word 'final' is a JAVA nerd. There is no 'final' keyword in C#, so your best option is to use 'sealed'.