What is the default access modifier in Java?

access-modifiers, java

Solution

From Java documentation

If a class has no modifier (the default, also known as package-private), it is visible only within its own package (packages are named groups of related classes — you will learn about them in a later lesson.)

At the `member level`, you can also use the public modifier or `no modifier` (package-private) just as with top-level classes, and with the same meaning.

Full story you can read here (Which I wrote recently):

http://codeinventions.blogspot.com/2014/09/default-access-modifier-in-java-or-no.html

Problem

What is the default access modifier for a method or an instance variable if I do not state it explicitly? For example: ``` package flight.booking; public class FlightLog { private SpecificFlight flight; FlightLog(SpecificFlight flight) { this.flight = flight; } } ``` Is the access modifier of this constructor protected or package? Can other classes in the same package, which is `flight.booking`, call this constructor?

Original source

Related problems