What is encapsulation in Java?
Requires Free Membership to View
When you register, you'll begin receiving targeted emails from my team of award-winning writers. Our goal is to keep you informed on recent service-oriented architecture (SOA) and SOA-related topics such as integration, governance, Web services, Cloud and more.
Hannah Smalltree, Editorial DirectorJava encapsulation is a programming concept that a language should support in order to object's state from its behavior. This is typically facilitated by means of hiding an object's data representing its state from modification by external components. Java offers four different "scope" realms--public, protected, private, and package--that can be used to selectively hide data constructs. The following example illustrates these:
package com.jeffhanson.test; // The public scope identifier makes this class available // to all external components public class MyClass { // The following field does not have a scope identifier // so it is "package" scope by default. This means that // only objects in the same package can access it. int aPackageScopedInt; // The following field has a "private" scope identifier. // This means that it can only be accessed by this class. int aPrivateScopedInt; // The following method has a "protected" scope identifier. // This means that it can only be accessed by this class, // classes that extend this class, and other classes in // the same package. protected int aProtectedMethod() { return 0; } }
This was first published in April 2003