A class doesn't occupy any memory when it's created. Memory is only occupied when we create an instance of that class (i.e. an object of that class). When we create an object, memory is allocated to store the object. How much memory is required to store an object depends on how many instance variables the class has and the data type of those instance variables. For example, if a class has two instance variables of type int, then 8 bytes of memory will be allocated for each object (4 bytes for each int). If the class has one instance variable of type double, then 12 bytes will be allocated for each object (8 bytes for the double + 4 bytes for a pointer to the next object in memory). The total memory required for a class is therefore the sum of the sizes of all its instance variables. However, this is only an approximation because some classes have static fields and methods which are not included in this calculation. Classes can also have references to other objects, so the actual memory footprint of a class may be larger than this calculation suggests. Nevertheless, this should give you a general idea of how much memory is required for a given class.