Q: java inheritance after compilation class Car extends Viecle
Caris compiled.
Class Client uses Car.
Are fields and methods from Viecle put into Car class during compilation, or Car simply needs class Viecle to be compiled (and not removed) in compile and after - during runtime?

A: The latter, Car needs Vehicle to be compiled and included at runtime. 
If this were not the case, there would be quite a lot of needless code duplication in class files, if Vehicle were inherited 10 times, the code would be included 11 times total in the system. This would both take both unnecessary memory and CPU time to JIT compile.

A: No, class Viecle can't be removed after compilation. it'll be required during runtime.
just think about the size of most specific class file if it has to copy all members (based on access-specifiers) from it's all base-classes to in itself. think about the code-duplication within class files. 
and what if you change the code in base class which is already included in a derived class and you compile base class only.
due to all above reasons, base class can't be (shouldn't be) included in derived class at compile time.
