If compiler detects an abstract method, the (“host”) class must be declared abstract.
I think this is the only difference between abstract class and non-abstract class.
U can convert a non-abstract class into abstract by adding the keyword “abstract” to the class. All attributes are left alone. Yes, an abstract class can CONTAIN instance-level fields as well as static (ie class-level) members.