No, static methods and fields do not take space in an instance of the class.
You are making a number of confusions here. When you compile your program, the code of each of your method (static or not) is “stored” in your compiled program (in the case of Java, in
.class files). When you execute a program, static members – that “belong” to a class, like
field1 in your question – are allocated once for your whole program. The other “normal” class members – like
field2 in your question – are allocated for each new instance you create.
When you create a new instance of an object, the code of its various methods is not “allocated”, as it already exists in compiled form in your program.
CLICK HERE to find out more related problems solutions.