Java is a platform independent programming language similar to C++ in syntax and Smalltalk in mental paradigm. It has features like automatic type checking, garbage collection, simplified pointers and network access. Java code is compiled to bytecode, which is interpreted by the Java Virtual Machine (JVM) on various platforms, making Java portable across different operating systems and hardware. Methods and data in Java classes can be declared as public or private to control access and eliminate errors between classes.