| Paradigm |
General Features |
Java-related Features |
| Machine |
Representation of problem solutions in computers. |
- Java Virtual Machine (JVM)
- J-code (in *.class file)
- Primitive data types (boolean, byte, short,
int, long, float, double, char)
|
| Mnemonic |
Readability of computer programs.
- Assignment statement
- Absolute, conditional jumps
|
- Reserved words
- Operators
- Identifiers
- Constants
- Comments
|
| Modular |
Simplify understandability of programs by partitioning.
- Subroutines, functions
- Formal, actual arguments
- Separation of code and data
- Scope of identifiers
- Function libraries
Favors programs designed from the bottom-up. |
- Classes and packages
- Variables and statements
- Methods
- Standard classes (e.g., String)
|
| Structured |
Simplify understandability of programs by eliminating unconditional control
execution.
- Sequence
- Selection
- Iteration
Favors programs designed from the top-down.
|
- Blocks
- if
and switch statements, ternary operator
- for
, while, do statements
- Exception handling
- throws
clause
- throw
statement
- try/catch/finally
block
|
|
Object-oriented |
Simplify understandability of programs by collecting logically related parts
of code and data together.
- Encapsulation
- Inheritance
- Polymorphism
|
- class
, interface keywords
- extends
, implements keywords
- Reference model for objects
- Object class used for ancestor of all other classes.
|
|
Event-driven |
Programs should be built as a collection of responses to programs events.
- Events
- Event generation
- Event handling
|
- AWT classes
- Inherited event model
- Distributed event model
|
|
Visual |
Programs should be organized to emphasize the visual aspects of the program
first. That is, designed and constructed from the outside-in.
- Components, containers
- Properties
- Events
|
|