“Data hiding is a software development technique specifically used in object-oriented programming (OOP) to hide internal object details (data members). Data hiding ensures exclusive data access to class members and protects object integrity by preventing unintended or intended changes.” (tecopedia.com, 2017)
Data hiding also reduces system complexity for increased robustness by limiting interdependencies between software components. Data hiding is also known as data encapsulation or information hiding.
Characteristics of Java programming
Simple: – The Java language is easy to learn. Java code is easy to read and write. Java has a concise, cohesive set of features that makes it easy to learn and use.
Familiar: – Java is similar to C/C++ but it removes the drawbacks and complexities of C/C++ like pointers and multiple inheritances. So, if the users have background in C/C++, users will find Java familiar and easy to learn.
Object-Oriented: – Unlike C++ which is semi object-oriented, Java is a fully object-oriented programming language. It has all OOP features such as abstraction, encapsulation, inheritance and polymorphism.
Robust: – With automatic garbage collection and simple memory management model (no pointers like C/C++), plus language features like generics, try-with-resources, Java guides programmer toward reliable programming habits for creating highly reliable applications.
Secure: – The Java platform is designed with security features built into the language and runtime system such as static type-checking at compile time and runtime checking (security manager), which let you creating applications that can’t be invaded from outside. Anybody never hear about viruses attacking Java applications.
High Performance: – Java code is compiled into bytecode which is highly optimized by the Java compiler, so that the Java virtual machine (JVM) can execute Java applications at full speed. In addition, compute-intensive code can be re-written in native code and interfaced with Java platform via Java Native Interface (JNI) thus improve the performance.
Multithreaded: – The Java platform is designed with multithreading capabilities built into the language. That means users can build applications with many concurrent threads of activity, resulting in highly interactive and responsive applications.
Platform Independence: – Java code is compiled into intermediate format (bytecode), which can be executed on any systems for which Java virtual machine is ported. That means you can write a Java program once and run it on Windows, Mac, Linux or Solaris without re-compiling.
Thus, the slogan “Write once, run anywhere” of Java.
Interpreted: – Java supports cross-platform code through the use of Java bytecode. Bytecode can be interpreted on any platform by JVM.
Distributed: – Java was designed with the distributed environment. Java can be transmitted, run over internet.
Dynamic: – Java programs carry with them substantial amounts of run-time type information that is used to verify and resolve accesses to objects at run time.
Features related to the Java programming
- Java is an open source package which means the developers or users can directly download from the internet as free of charge.
- Java can be developed by using different IDEs.
- Java will user complier translator to translate the source code into byte code.
- Java can be used to developed console based application (CLI application) and windows based application (GUI).
- Java will only allow to write the codes in the OOP concept.
- Java is portable which means the applications of java can be transfer to any other system through the external storage devices and also will support for any devices as it is a platform independence and not depend on OS and ROM.