Java   View all facts   Glossary   Help | 
| specification > class > concrete class > leaf class | 
| leaf class | ||||
| subject | fact | |||
| leaf class | has definition A class at the very bottom of an inheritance hierarchy | ![]()  | 
| is a subtopic of Classes | ![]()  | |
| is a kind of concrete class | ![]()  | |
| concrete class | is the opposite of abstract class | ![]()  | 
| class |  
  | ![]()  | 
![]()  | ||
 
  | ![]()  | |
![]()  | ||
![]()  | ||
| adds 0 or more variables to the variables it inherits from its superclass | ![]()  | |
| adds 0 or more methods to the methods it inherits from its superclass | ![]()  | |
| can access any public class in other packages | ![]()  | |
| can be imported from a package | ![]()  | |
can extend only one superclass    ![]()  | ![]()  | |
| can have a main method | ![]()  | |
| can have instances | ![]()  | |
can have more than one constructor each of which has different sets of arguments    ![]()  | ![]()  | |
can have the same name as another class if the two classes are not in the same package and their packages are never imported into the same file    ![]()  | ![]()  | |
can implement more than one interface    ![]()  | ![]()  | |
| can override methods that are inherited from the class's superclass | ![]()  | |
| can protect its members from access by other classes or objects using an access modifier | ![]()  | |
| cannot inherit method implementations from an interface | ![]()  | |
contains all of the code that relates to its objects including 
 ![]()  | ![]()  | |
| contains data associated with each object | ![]()  | |
declares a list of variables, called instance variables, corresponding to data that will be present in each instance    ![]()  | ![]()  | |
| defines | ![]()  | |
| defines a class type whose instances are the values of the class type | ![]()  | |
has 
  | ![]()  | |
| has 0 or more subclasses | ![]()  | |
| has 1 superclass except Object class which has no superclass | ![]()  | |
| has behaviour that is specified by its instance methods | ![]()  | |
| has more specialized behaviour than a class farther up in the class hierarchy | ![]()  | |
| has public interface which contains its public instance variables and instance methods | ![]()  | |
has benefit 
  | ![]()  | |
has example public class HelloWorld {  | ![]()  | |
| has part class name | ![]()  | |
| has part code | ![]()  | |
has part constructor    ![]()  | ![]()  | |
has syntax class classname  | ![]()  | |
| inherits 0 or more methods from its superclass | ![]()  | |
| inherits 0 or more variables from its superclass | ![]()  | |
| inherits behaviour from its superclass | ![]()  | |
| is abstract if it has one or more abstract methods | ![]()  | |
is the unit of data abstraction in an object-oriented program    ![]()  | ![]()  | |
| is a descendant of Object class | ![]()  | |
| is specified by 1 class definition | ![]()  | |
| may have access modifier | ![]()  | |
| provides implementation for all its instance methods unless the class is abstract | ![]()  | |
| represents several similar objects | ![]()  | |
| should be a member of 1 named package rather than the default package | ![]()  | |
| should be named after a thing its instances represent in the real world | ![]()  | |
should be placed in its own source file    ![]()  | ![]()  | |
| should have a comment at the top describing the purpose of the class, how it should be used, its authors and its history of modification | ![]()  | |
should have a unique name since somebody in the future might want to import the packages containing both classes and hence create a name clash    ![]()  | ![]()  | |
should not be named after the internals of a computer system such as 'Record', 'Table', 'Data', 'Structure', or 'Information'    ![]()  | ![]()  | |
| should order elements as follows: | ![]()  | |
| to instantiate you create an instance of it | ![]()  | |
uses an implements clause to declare that it contains methods for each of the operations specified by the interface    ![]()  | ![]()  | |
| access unit | has access mode | ![]()  | 
| syntactic unit | has syntax rule bold = mandatory  | ![]()  | 
 Up: concrete class