Runtime type information (RTTI) refers to the correct identification of the type of your objects at run time.
The manipulation of strings is a quite common activity for which the programmer undertakes responsibility fairly frequently. In Java, strings are of a distinct data type, that are implemented as literal constants.
In this post, I try to give a reasonable account of Java's error handling system being as it is that the handling of errors is a concern that any reasonable programming language must find some way to contend with. Java's error handling methodology is based on an idea of exceptions.
If you have followed previous posts, you might begin to perceive a pattern in the semantics of the Java programming language. If not, it might help to go over previous posts as I tend to return to expand on previous topics or add clearer examples as time permits. Inner classes might at first seem like a whole new language to the uninitiated but they are a nice feature in Java that allow you to logically group related classes and control the visibility of one class from outside of the other.
In the normal course of solving a general programming problem, it is almost certain that you will become compelled to create, and identify useful ways by which one may hold any number of objects within your program. In Java, you are normally inclined toward the array as the natural choice for holding a group of primitives, but this has the obvious limitation of being of a fixed size, whereas, under normal circumstances, you are unlikely to know before hand, the number of objects, or indeed anything about their type before run-time.
Interfaces are completely abstract classes in Java that provide you with a uniform way to properly delineate the structure or inner workings of your program from its publicly available interface, with the consequence being a greater amount of flexibility and reusable code as well as more control over how you create and interact with other classes.
In object oriented programming, polymorphism is a feature that allows you to provide a single interface to varying entities of the same type. This is analogous to the interpretation of the same concept in the field of Biology.
To understand how this works in Java, we must consider inheritance and the ways by which the Java programming language makes method calls.
One of the most compelling features about an OOP language like Java is that it provides a way to reuse code to add functionality within the classes you create. Essentially, when writing code in Java, seldom are you required to begin from scratch because the Java library comes with a great many classes that make it easy for you to attain a minimum level of functionality with relative ease.
A key consideration for the library designer in the normal conduct of operations is maintaining the ability to make changes or improvements to the library at any time without requiring the consumers (client programmers) of that library to do the same. In Java, a library consists of a logical grouping of .class files packaged together to make a working program.
Java uses conditional statements to determine the execution path. Conditional statements provide a way to determine the truth or falsehood of a conditional expression, by which we mean to describe expressions that make use of relational operators and such, and that are able to produce a