Java syntax: Difference between revisions

Content deleted Content added
m Typo/general fixing, replaced: vice-versa → vice versa using AWB
Remove spurious chapter references.
Line 1,180:
 
An [http://docs.oracle.com/javase/specs/jls/se7/html/jls-8.html#jls-8.1.1.1 Abstract Class] is a class that is incomplete, or to be considered incomplete.
Normal classes may have abstract methods (§8.4.3.1, §9.4), that is, methods that are declared but not yet implemented, only if they are abstract classes.
A class C has abstract methods if any of the following is true:
 
C explicitly contains a declaration of an abstract method (§8.4.3).
 
Any of C's superclasses has an abstract method and C neither declares nor inherits a method that implements (§8.4.8.1) it.
 
A direct superinterface (§8.1.5) of C declares or inherits a method (which is therefore necessarily abstract) and C neither declares nor inherits a method that implements it.
 
A subclass of an abstract class that is not itself abstract may be instantiated, resulting in the execution of a constructor for the abstract class and, therefore, the execution of the field initializers for instance variables of that class.