1. Put the
abstract keyword in the class declaration
Code :
abstract class SomeClass{}
2. Abstract classes can have methods that aren't implemented yet (abstract methods). Concrete methods must not have any abstract methods, including those it may inherit from parent classes and those it implements from interfaces.
3. It is not completely defined. Think of what would happen if you tried calling an abstract method that hasn't been implemented yet:
Code :
abstract class someClass
{
public abstract void doIt();
}
What should the computer do? To prevent this quandary, Java won't let abstract classes be instantiated, even if they contain no abstract methods (declaring a class abstract without any abstract methods is then of course, silly)
4. No. The reason is you call static methods from the class itself, so you could theoretically encounter the same problem as above: trying to run a method that hasn't been implemented yet.
5. With methods and classes/objects.
6. Name, parameters, and expected output. Note: how the method arrives to the expected output is incorrect (that's what the abstraction gets rid of)