Java Public Access Modifier Example

Java public access modifier example demonstrates how to control the visibility of a field, method, class, and constructor using a public access modifier.

Java Public Access Modifier

If a class or its members are declared as public, they can be accessed from any other class regardless of the package boundary. It is comparable to a public place in the real world, such as a company cafeteria that all employees can use irrespective of their department.

Java Public Access Modifier Example

The below example demonstrates the usage of public access modifier and it's visibility. Please refer the comments are self-descriptive:
class ClassA {
    public String clazzName;

    public ClassA() {

    }

    public ClassA(String clazzName) {
        this.clazzName = clazzName;
    }

    public String getName() {

        System.out.println(clazzName); // public field can be used anywhere
        InnerClass innerClass = new InnerClass(); //public Inner Class can be used anywhere.
        return this.clazzName;
    }

    public class InnerClass {

    }
}

class ClassB extends ClassA {
    void test() {

        System.out.println(clazzName); //public field can be inherited to any sub class

        ClassA classA = new ClassA();

        System.out.println(classA.clazzName); //public field can be used anywhere

        classA.getName(); //public method can be used anywhere

        ClassA.InnerClass b = new ClassA.InnerClass(); //public Inner Class can be used anywhere.
    }
}

// below class is a different package
class ClassD extends ClassA {
    void methodOfClassD() {
        System.out.println(clazzName); // public field can be inherited to any sub class

        ClassA a = new ClassA();
        System.out.println(a.clazzName); // Public field can be used anywhere
        a.getName(); // Public method can be used anywhere
        ClassA.InnerClass innerClass = new ClassA.InnerClass(); // Public inner class can be used anywhere
    }
}

Comments