Java View all facts Glossary Help |
specification > class > nested class |
nested class | ||||
subject | fact |
nested class | has definition A class that is a member of another class | |
is a subtopic of Classes | ||
is a kind of 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 |
Kinds of nested class :
Next class: Object class Up: class Previous class: Math