Skip to content

Access Modifiers

AnsuDennis edited this page Sep 2, 2020 · 3 revisions

Access level modifiers determine whether other classes can use a particular field or invoke a particular method. There are two levels of access control:

At the top level—public, or package-private (no explicit modifier). At the member level—public, private, protected, or package-private (no explicit modifier).

default class modifier

  • A class is called a Default Class is when there is no access modifier specified on a class.
  • Default classes are visible inside the same package only.
  • Default access is also called Package access. Example package com.rithus.classmodifiers.defaultaccess.a; // No public before class. So this class has default access*/ class DefaultAccessClass { //Default access is also called package access }

Another Class in Same Package: Has access to default class package com.rithus.classmodifiers.defaultaccess.a; public class AnotherClassInSamePackage { //DefaultAccessClass and AnotherClassInSamePackage //are in same package. //So, DefaultAccessClass is visible. //An instance of the class can be created. DefaultAccessClass defaultAccess; }

Class in Different Package: NO access to default class package com.rithus.classmodifiers.defaultaccess.b; public class ClassInDifferentPackage { //Class DefaultAccessClass and Class ClassInDifferentPackage //are in different packages (*.a and *.b) //So, DefaultAccessClass is not visible to ClassInDifferentPackage //Below line of code will cause compilation error if uncommented //DefaultAccessClass defaultAccess; //COMPILE ERROR!! }

private access modifier a. Private variables and methods can be accessed only in the class they are declared. b. Private variables and methods from SuperClass are NOT available in SubClass.

default or package access modifier? a. Default variables and methods can be accessed in the same package Classes. b. Default variables and methods from SuperClass are available only to SubClasses in same package. What is protected access modifier? a. Protected variables and methods can be accessed in the same package Classes. b. Protected variables and methods from SuperClass are available to SubClass in any package

Clone this wiki locally