From Dart documentation:
Unlike Java, Dart doesn’t have the keywords public, protected, and private. If an identifier starts with an underscore
_
, it’s private to its library.
Libraries not only provide APIs, but are a unit of privacy: identifiers that start with an underscore _
are visible only inside the library.
A few words about libraries:
Every Dart app is a library, even if it doesn’t use a library directive. The import and library directives can help you create a modular and shareable code base.
You may have heard of the part
directive, which allows you to split a library into multiple Dart files.
Dart documentation “libraries-and-visibility”