click below
click below
Normal Size Small Size show me how
Abstract & Interface
Question | Answer |
---|---|
What are abstract classes used for? | To only build new classes; nothing will ever be instantiated |
What must sub abstract classes implement? | All methods defined as abstract in the super class |
When are abstract classes used? | Typically used when you know quite a bit about the Object and what you want it to do, but there are a still few unknowns |
What is polymorphism? | The ability of one general thing to behave like other specific things |
What is the difference between static and dynamic binding? | Static binding is resolved at compile time and cannot be overridden (final and private methods) while dynamic binding is called at compile time and can be overridden |
Which can contain abstract methods? | Both Interface and Abstract class |
Which can contain non-abstract methods? | Abstract Class |
Which can contain constructors? | Abstract Class |
Which can be instantiated? | None |
Which can be extended? | Both Interface and Abstract class |
Which can be implemented? | Interface |
Which can contain instance variables? | Abstract Class |
Which can contain final instance variables? | Abstract Class |
Which can contain final class variables? | Both Interface and Abstract Class |
Which can contain class variables? | Abstract Class |
What does static mean? | A word designating something that exists as part of a class, but not part of a specific object; all objects will share the same static variables and methods |
Why would you use an Interface? | If an entire hierarchy of classes implements the same interface, you can write very generic code to manipulate any of those classes |
What is an Interface? | An interface is a list of methods that must be implemented. An interface may not contain any implemented methods. Interfaces cannot have constructors |
When do you use an Interface? | They are used when you know what you want an Object to do, but do not know what will be used to get it done. If only if the behavior is known, use an interface |