As Java offers so many features and options to the developers, people are sometimes lured into learning too many things in too little time. As a result of this, they get ‘bits and pieces’ knowledge of a few options that Java offers, but their basics hang on a loose thread. Trust me when I say this, Java is one programming language which is easy if you have paid attention to the simple basics, however; it can be frustrating if you get greedy and try to take the shorter route forward.
Well, if your sole purpose of learning Java is to clear the exam you have the next day, go ahead and mug up all the things that you can and you might just get the passing marks. However; if you are really serious about learning Java and getting better at it, the best way to do it is not by reading, but by implementing. Gain knowledge and then execute what you have learnt, in the form of code. You can never learn Java if you are not willing to get your hands dirty.
Even if you are writing a simple code having a ‘if else’ statement, as a beginner, start by realizing the code on a piece of paper. The algorithm and the whole compiler process will look so meaningful once you understand the idea behind the code. Even for experts, the best way to solve a complex problem or to formulate an algorithm to solve a Java program is to break the problem into sub-parts and then try to devise a solution for each sub part. When you start getting the solutions right, you will get the confidence to work more.
This tip is particularly useful for those who switch from C, C++ to Java. The memory allocation in Java using the ‘new’ keyword is a necessity as Java is a dynamic programming language. C, C++ does not explicitly have this feature, therefore you must take care while handling array and object declaration in Java. Not using the ‘new’ keyword will show a null pointer exception in the code.
When you create an object in Java, you use up memory and processor speed from the system. Since object creation is incomplete without allocating memory to it, it is better to keep the object requirements under check and not create unwanted objects in the code.
There is no multiple inheritance in Java, and this will be spoon fed to you so many times while learning the language that you will probably never forget it for the rest of your life. However; the tip here in not to remember that there is no multiple inheritance in Java, but the fact that interface will come in handy if you want to implement something like multiple inheritance without using the extends keyword. Remember, in Java, when nothing goes your way, you will always have interface by your side. Abstract class does not always give programmers the liberty of having a variety of methods to work with, however; interface only have abstract methods therefore is does the job of abstract classes and has other advantages as well.
The biggest advantage that Java has over its predecessors, from a programming point of view, is probably its rich set of standard library methods. Using Java’s standard library makes the job of a programmer easy, more efficient and gives a well organised flow to the code. Further, operations can be performed easily on the methods specified in the library.
Wrapper classes are no doubt, of great utility, but they are often slower than primitive classes. Primitive class only has values while the wrapper class stores information about the entire class. Further, since wrapper classes often deal with object values, comparing them like the primitive classes does not give desired results as it ends up comparing objects instead of values stored in it.
Since Object oriented programming classifies String as a class, a simple concatenation of two strings might result into the creation of a new string object in Java which eventually affects the memory and speed of the system. It is always better to instantiate a string object directly, without using the constructor for this purpose.
There is so much to learn about Java that you just cannot get over with this programming language and it keeps getting more interesting and amusing, however; it is important to maintain the interest within to learn and the hunger to get better. A programming language like Java can be learnt on our own and with great success, but the only thing that is required is continuous learning and coding to test what you have learnt. Java is a lot like playing a sport; the more you sweat in the practice, less you bleed in the match.